Sobes.tech
Junior — Middle

Aké nástroje a technológie používaš na zber dát pre monitorovanie a analýzu výkonu systému?

sobes.tech AI

Odpoveď od AI

Na sledovanie a analýzu výkonu systémov v Go sa často používajú nasledujúce nástroje a technológie:

  • Prometheus — monitorovací systém s podporou zberu metrík cez HTTP. V Go aplikáciách je možné použiť klientsku knižnicu prometheus/client_golang na exportovanie metrík.
  • Grafana — vizualizácia dát, často používaná spolu s Prometheusom na tvorbu dashboardov.
  • pprof — vstavaný profiler v Go, ktorý umožňuje zbierať dáta o CPU, pamäti, zámkoch a goroutines.
  • OpenTelemetry — štandard na zber trace-ov a metrík, s podporou pre Go.

Príklad exportu metrík pomocou Prometheus v Go:

import (
    "github.com/prometheus/client_golang/prometheus"
    "github.com/prometheus/client_golang/prometheus/promhttp"
    "net/http"
)

var opsProcessed = prometheus.NewCounter(prometheus.CounterOpts{
    Name: "myapp_processed_ops_total",
    Help: "Celkový počet spracovaných udalostí",
})

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

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

Tento prístup umožňuje zbieranie a analýzu výkonu v reálnom čase.