Überwachung

Mit dem Überwachungsmiddleware von Fiber können Sie die Metriken des Servers melden, inspiriert von express-status-monitor. Dadurch können Sie in Echtzeit die CPU, den Speicher, die Anfrage-Antwort-Zeit, die Anzahl der gleichzeitigen Verbindungen und vieles mehr überwachen.

Hinweis: Die Überwachung befindet sich noch in der Testphase, und die API kann sich in Zukunft ändern!

Signatur

func New() fiber.Handler

Beispiel

Importieren Sie das Middleware-Paket des Fiber-Web-Frameworks.

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/fiber/v2/middleware/monitor"
)

Nachdem Sie Ihre Fiber-Anwendung initialisiert haben, können Sie die folgenden Optionen verwenden:

// Mit Standardeinstellungen initialisieren (Middleware dem Pfad /metrics zuweisen)
app.Get("/metrics", monitor.New())

// Oder mit benutzerdefinierten Konfigurationen erweitern
// Middleware dem Pfad /metrics zuweisen
// und den Titel auf "MyService Metrics Page" ändern
app.Get("/metrics", monitor.New(monitor.Config{Title: "MyService Metrics Page"}))

Sie können auch auf den API-Endpunkt mit curl -X GET -H "Accept: application/json" http://localhost:3000/metrics zugreifen, was Folgendes zurückgibt:

{"pid":{ "cpu":0.4568381746582226, "ram":20516864,   "conns":3 },
 "os": { "cpu":8.759124087593099,  "ram":3997155328, "conns":44,
    "total_ram":8245489664, "load_avg":0.51 }}

Konfiguration

Eigenschaft Typ Beschreibung Standard
Title string Titel der Metrikseite "Fiber Monitor"
Refresh time.Duration Aktualisierungszeitraum 3 Sekunden
APIOnly bool Ob der Dienst nur die Überwachungs-API freigibt false
Next func(*fiber.Ctx) bool Next definiert eine Funktion, die dieses Middleware überspringt, wenn true zurückgegeben wird nil
CustomHead string Benutzerdefinierter HTML-Code, der dem Header hinzugefügt wird (endet davor) Leer
FontURL string Schriftarten-Ressourcenpfad oder -URL, die von FontURL angegeben wird https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
ChartJsURL string Bibliothekepfad oder -URL von ChartJS, die von ChartJsURL angegeben wird https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js

Standardkonfiguration

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,
    }),
}