Sobes.tech
Junior — Middle

Kaip perduoti metrikas iš programėlės į Grafana vizualizacijai ir stebėsenai?

sobes.tech AI

Atsakymas iš AI

Norint perduoti metrikas iš Go programos į Grafaną, dažniausiai naudojama Prometheus stebėjimo sistema, kuri gerai integruojasi su Grafana.

Pagrindiniai žingsniai:

  1. Go programoje prijunkite Prometheus kliento biblioteką (prometheus/client_golang).
  2. Apibrėžkite ir užregistruokite metrikas (skaitiklius, histogramos, gauges).
  3. Paleiskite HTTP serverį su /metrics endpointu, kuris teikia esamas metrikų reikšmes Prometheus suprantamu formatu.
  4. Konfigūruokite Prometheus surinkti metrikas iš šio endpointo.
  5. Grafana prisijungs prie Prometheus kaip duomenų šaltinio ir vizualizuos metrikas.

Go kodo pavyzdys:

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: "Iš viso apdorotų įvykių",
    })
)

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

func main() {
    http.Handle("/metrics", promhttp.Handler())
    go func() {
        for {
            opsProcessed.Inc() // didinti skaitiklį
            time.Sleep(time.Second)
        }
    }()
    http.ListenAndServe(":2112", nil)
}

Šiuo būdu metrikos tampa prieinamos Prometheus surinkimui ir vizualizacijai Grafanoje.