Sobes.tech
Junior — Middle

Milyen eszközöket és technológiákat használsz az adatok gyűjtésére a rendszer teljesítményének nyomon követéséhez és elemzéséhez?

sobes.tech MI

Válasz az MI-től

A Go rendszerek teljesítményének nyomon követéséhez és elemzéséhez gyakran használják a következő eszközöket és technológiákat:

  • Prometheus — HTTP-n keresztül gyűjtött metrikák támogatásával működő megfigyelő rendszer. Go alkalmazásokban a prometheus/client_golang klienskönyvtárat lehet használni metrikák exportálására.
  • Grafana — adatvizualizációs eszköz, amelyet gyakran a Prometheus-szal együtt használnak dashboardok készítéséhez.
  • pprof — a Go-ba beépített profilozó, amely CPU, memória, zárolások és goroutine-ok adatait gyűjti.
  • OpenTelemetry — szabvány a trace-ek és metrikák gyűjtésére, támogatással Go-hoz.

Példa a Prometheus segítségével történő metrikák exportálására Go-ban:

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: "Az összes feldolgozott esemény száma",
})

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

func main() {
    http.Handle("/metrics", promhttp.Handler())
    go func() {
        for {
            opsProcessed.Inc() // növeljük a számlálót
            time.Sleep(time.Second)
        }
    }()
    http.ListenAndServe(":2112", nil)
}

Ez a megközelítés lehetővé teszi a teljesítmény valós idejű gyűjtését és elemzését.