Monitorowanie

Korzystając z oprogramowania środkowego monitorowania Fiber, możesz raportować metryki serwera, zainspirowane express-status-monitor, które mogą monitorować procesor, pamięć, czas odpowiedzi żądania, liczbę równoczesnych połączeń i więcej w czasie rzeczywistym.

Uwaga: Monitor jest wciąż w fazie testowej, a interfejs API może ulec zmianie w przyszłości!

Podpis

func New() fiber.Handler

Przykład

Zaimportuj pakiet oprogramowania środkowego frameworka internetowego Fiber

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

Po zainicjowaniu aplikacji Fiber, możesz użyć następujących opcji:

// Zainicjuj z domyślną konfiguracją (przypisz oprogramowanie środkowe do /metrics)
app.Get("/metrics", monitor.New())

// Lub rozszerz z niestandardową konfiguracją
// Przypisz oprogramowanie środkowe do /metrics
// i zmień tytuł na "Strona metryk mojej usługi"
app.Get("/metrics", monitor.New(monitor.Config{Title: "Strona metryk mojej usługi"}))

Możesz również uzyskać dostęp do punktu końcowego interfejsu API za pomocą curl -X GET -H "Accept: application/json" http://localhost:3000/metrics, co zwróci:

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

Konfiguracja

Właściwość Typ Opis Domyślnie
Tytuł string Tytuł strony metryk "Monitor Fiber"
Odśwież time.Duration Okres odświeżania 3 sekundy
TylkoAPI bool Czy usługa wystawia tylko interfejs API monitorowania false
Następne func(*fiber.Ctx) bool Następne definiuje funkcję, która pomija to oprogramowanie środkowe, gdy zwróci true nil
NiestandardowaGłówka string Niestandardowy kod HTML do dodania do nagłówka (kończący się przed) Pusty
URLCzcionki string Ścieżka zasobu czcionki lub URL określony przez URLCzcionki https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
URLChartJS string Ścieżka biblioteki ChartJS lub URL określony przez URLChartJS https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js

Domyślna Konfiguracja

var ConfigDefault = Config{
    Title:      defaultTitle,
    Refresh:    defaultRefresh,
    FontURL:    defaultFontURL,
    ChartJsURL: defaultChartJSURL,
    CustomHead: defaultCustomHead,
    TylkoAPI:    false,
    Następne:       nil,
    index: newIndex(viewBag{
        defaultTitle,
        defaultRefresh,
        defaultFontURL,
        defaultChartJSURL,
        defaultCustomHead,
    }),
}