Junior — Middle
Hoe kunnen metrics van een applicatie naar Grafana worden overgebracht voor visualisatie en monitoring?
sobes.tech AI
Antwoord van AI
Om metrics van een Go-toepassing naar Grafana te sturen, wordt meestal het monitoring systeem Prometheus gebruikt, dat goed integreert met Grafana.
Belangrijkste stappen:
- In de Go-toepassing wordt de Prometheus clientbibliotheek (prometheus/client_golang) gekoppeld.
- Metrics (tellers, histogrammen, gauges) worden gedefinieerd en geregistreerd.
- Een HTTP-server wordt gestart met een endpoint
/metrics, dat de huidige metricwaarden in een door Prometheus te begrijpen formaat levert. - In Prometheus wordt de verzameling van metrics vanaf dit endpoint geconfigureerd.
- Grafana verbindt zich met Prometheus als gegevensbron en visualiseert de metrics.
Voorbeeld van code in 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: "Het totale aantal verwerkte gebeurtenissen",
})
)
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // teller verhogen
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Op deze manier zijn de metrics beschikbaar voor verzameling door Prometheus en visualisatie in Grafana.