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