Sobes.tech
Junior — Middle

Jak přenést metriky z aplikace do Grafana pro vizualizaci a monitorování?

sobes.tech AI

Odpověď od AI

Pro přenos metrik z aplikace v jazyce Go do Grafany se obvykle používá systém monitorování Prometheus, který se dobře integruje s Grafanou.

Hlavní kroky:

  1. V aplikaci v jazyce Go připojte knihovnu klienta Prometheus (prometheus/client_golang).
  2. Definujte a zaregistrujte metriky (čítače, histogramy, gauge).
  3. Spusťte HTTP server s endpointem /metrics, který poskytuje aktuální hodnoty metrik ve formátu srozumitelném pro Prometheus.
  4. V Prometheus nakonfigurujte sběr metrik z tohoto endpointu.
  5. Grafana se připojí k Prometheus jako ke zdroji dat a vizualizuje metriky.

Příklad kódu v jazyce 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: "Celkový počet zpracovaných událostí",
    })
)

func init() {
    prometheus.MustRegister(opsProcessed)
}

func main() {
    http.Handle("/metrics", promhttp.Handler())
    go func() {
        for {
            opsProcessed.Inc() // zvýšíme čítač
            time.Sleep(time.Second)
        }
    }()
    http.ListenAndServe(":2112", nil)
}

Tímto způsobem jsou metriky dostupné ke sběru Prometheus a následnému zobrazení v Grafaně.