المراقبة
عن طريق استخدام برنامج الوساطة للمراقبة في Fiber، يمكنك تقرير مقاييس الخادم، والمستوحى من express-status-monitor، حيث يمكن مراقبة وحدة المعالجة المركزية، والذاكرة، وزمن استجابة الطلبات، وعدد الاتصالات المتزامنة، وأكثر من ذلك في الوقت الحقيقي.
ملاحظة: يزال الرصد في مرحلة الاختبار، وقد تتغير واجهة برمجة التطبيق في المستقبل!

التوقيع
func New() fiber.Handler
المثال
استيراد حزمة الوساطة لإطار العمل Fiber
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/monitor"
)
بعد تهيئة تطبيق Fiber الخاص بك، يمكنك استخدام الخيارات التالية:
// التهيئة باستخدام التكوين الافتراضي (تعيين الوساطة إلى /metrics)
app.Get("/metrics", monitor.New())
// أو توسيعها باستخدام تكوين مخصص
// تعيين الوساطة إلى /metrics
// وتغيير العنوان إلى "صفحة مقاييس خدمتي"
app.Get("/metrics", monitor.New(monitor.Config{Title: "صفحة مقاييس خدمتي"}))
يمكنك أيضا الوصول إلى نقطة نهاية واجهة برمجة التطبيق باستخدام curl -X GET -H "Accept: application/json" http://localhost:3000/metrics، والتي ستعيد:
{"pid":{ "cpu":0.4568381746582226, "ram":20516864, "conns":3 },
"os": { "cpu":8.759124087593099, "ram":3997155328, "conns":44,
"total_ram":8245489664, "load_avg":0.51 }}
التكوين
| الخصاص | النوع | الوصف | الافتراضي |
|---|---|---|---|
| Title | string |
عنوان صفحة المقاييس | "مراقب Fiber" |
| Refresh | time.Duration |
فترة التحديث | 3 ثوانٍ |
| APIOnly | bool |
ما إذا كان الخدمة تكشف فقط واجهة برمجة التطبيق للمراقبة | false |
| Next | func(*fiber.Ctx) bool |
يحدد وظيفة تخطي هذا البرنامج الوسيط عندما ترجع إلى true | nil |
| CustomHead | string |
كود HTML مخصص لإضافته إلى الرأس (ينتهي قبل) | فارغ |
| FontURL | string |
مسار أو رابط مورد الخط المحدد بواسطة FontURL | https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap |
| ChartJsURL | string |
مسار مكتبة ChartJS أو رابط محدد بواسطة ChartJsURL | https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js |
التكوين الافتراضي
var ConfigDefault = Config{
Title: defaultTitle,
Refresh: defaultRefresh,
FontURL: defaultFontURL,
ChartJsURL: defaultChartJSURL,
CustomHead: defaultCustomHead,
APIOnly: false,
Next: nil,
index: newIndex(viewBag{
defaultTitle,
defaultRefresh,
defaultFontURL,
defaultChartJSURL,
defaultCustomHead,
}),
}