Junior — Middle
Kako preneti metrike iz aplikacije u Grafana za vizualizaciju i nadzor?
sobes.tech АИ
Одговор од АИ
Za prenos metrika iz aplikacije na Go u Grafanu obično se koristi sistem za nadgledanje Prometheus, koji se dobro integriše sa Grafanom.
Glavni koraci:
- U aplikaciji na Go, povežite klijentsku biblioteku Prometheus (prometheus/client_golang).
- Definišite i registrujte metrike (brojače, histogrami, gauges).
- Pokrenite HTTP server sa endpointom
/metrics, koji pruža trenutne vrednosti metrika u formatu razumljivom za Prometheus. - U Prometheus-u konfigurišite prikupljanje metrika sa tog endpointa.
- Grafana se povezuje sa Prometheus-om kao izvor podataka i vizualizuje metrike.
Primer koda u 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: "Ukupan broj obrađenih događaja",
})
)
func init() {
prometheus.MustRegister(opsProcessed)
}
func main() {
http.Handle("/metrics", promhttp.Handler())
go func() {
for {
opsProcessed.Inc() // povećavamo brojač
time.Sleep(time.Second)
}
}()
http.ListenAndServe(":2112", nil)
}
Na ovaj način, metrike su dostupne za prikupljanje od strane Prometheus-a i prikaz u Grafani.