Sobes.tech
Junior — Middle

Hogyan valósulnak meg az exportőrök által a metrikák átviteli módszerei?

sobes.tech MI

Válasz az MI-től

A metrikák exportálói általában protokollokon és formátumokon keresztül valósítják meg az adatok gyűjtését és továbbítását az aggregációs rendszerekhez (például Prometheus).

Főbb átviteli módok:

  1. Pull modell (lekérdezés) — az exportáló HTTP végpontot biztosít, amelyhez a monitorozó rendszer időszakosan kérdéseket küld, és aktuális metrikákat kap például a Prometheus kifejtési formátumban.

  2. Push modell (küldés) — az exportáló közvetlenül küldi a metrikákat a monitorozó szervernek API-kon vagy protokollokon keresztül (például Pushgateway a Prometheusban).

  3. Közbenső broker-ek használata — a metrikák üzenetsorokba (Kafka, RabbitMQ) kerülnek, ahonnan a monitorozó rendszer veszi őket.

Példa a metrikák exportálására Prometheusban (pull modell):

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

func main() {
    http.Handle("/metrics", promhttp.Handler())
    http.ListenAndServe(":2112", nil)
}

Itt az exportáló HTTP szervert indít, amely kérésre a Prometheus által értelmezhető formátumban adja vissza a metrikákat.