Surveillance
En utilisant le middleware de surveillance de Fiber, vous pouvez rapporter les métriques du serveur, inspiré par express-status-monitor, qui permet de surveiller en temps réel le processeur, la mémoire, le temps de réponse des requêtes, le nombre de connexions simultanées, et plus encore.
Remarque : La surveillance est encore à la phase de test, et l'API peut changer à l'avenir !
Signature
func New() fiber.Handler
Exemple
Importez le package middleware du framework web Fiber
import (
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/monitor"
)
Après avoir initialisé votre application Fiber, vous pouvez utiliser les options suivantes :
// Initialiser avec la configuration par défaut (attribuer le middleware à /metrics)
app.Get("/metrics", monitor.New())
// Ou étendre avec une configuration personnalisée
// Attribuer le middleware à /metrics
// et changer le titre en "Page de métriques de MonService"
app.Get("/metrics", monitor.New(monitor.Config{Title: "Page de métriques de MonService"}))
Vous pouvez également accéder à l'endpoint API en utilisant curl -X GET -H "Accept: application/json" http://localhost:3000/metrics
, qui renverra :
{"pid":{ "cpu":0.4568381746582226, "ram":20516864, "conns":3 },
"os": { "cpu":8.759124087593099, "ram":3997155328, "conns":44,
"total_ram":8245489664, "load_avg":0.51 }}
Configuration
Propriété | Type | Description | Valeur par défaut |
---|---|---|---|
Title | string |
Titre de la page de métriques | "Fiber Monitor" |
Refresh | time.Duration |
Période de rafraîchissement | 3 secondes |
APIOnly | bool |
Si le service expose uniquement l'API de surveillance | false |
Next | func(*fiber.Ctx) bool |
Next définit une fonction qui saute ce middleware lorsqu'elle renvoie true | nil |
CustomHead | string |
Code HTML personnalisé à ajouter à l'en-tête (avant la fin) | Vide |
FontURL | string |
Chemin de la ressource de police ou URL spécifié par FontURL | https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap |
ChartJsURL | string |
Chemin de la bibliothèque ChartJS ou URL spécifié par ChartJsURL | https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js |
Configuration par défaut
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,
}),
}