Junior — Middle
Comment transmettre les métriques d'une application à Grafana pour la visualisation et la surveillance?
sobes.tech IA
Réponse de l'IA
Pour transmettre des métriques d'une application Go à Grafana, on utilise généralement le système de surveillance Prometheus, qui s'intègre bien avec Grafana.
Étapes principales :
- Dans l'application Go, connectez la bibliothèque cliente Prometheus (prometheus/client_golang).
- Définissez et enregistrez les métriques (compteurs, histogrammes, gauges).
- Lancez un serveur HTTP avec un endpoint
/metrics, qui fournit les valeurs actuelles des métriques dans un format compréhensible par Prometheus. - Configurez Prometheus pour collecter les métriques depuis cet endpoint.
- Grafana se connecte à Prometheus en tant que source de données et visualise les métriques.
Exemple de code en Go :
import (
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
var (
opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
Name: "myapp_processed_ops_total",
Help: "Le nombre total d'événements traités",
})
)
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // incrémente le compteur
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Ainsi, les métriques sont accessibles pour la collecte par Prometheus et leur affichage dans Grafana.