Middle
Kaip eksportuotojai perduoda metrikas?
sobes.tech AI
Atsakymas iš AI
Eksportuotojai naudoja įvairius protokolus ir formatus metrikų perdavimui į stebėjimo sistemas, tokias kaip Prometheus, Grafana ir kt. Pagrindiniai būdai:
-
Prometheus protokolas:
- Eksportuotojas atidaro HTTP serverį tam tikru prievadu.
- Stebėjimo sistema (pvz., Prometheus serveris) periodiškai "scrapina" (gauna) metrikas iš šio HTTP serverio.
- Duomenų formatas — tekstinis, specifinis Prometheus, kur kiekviena eilutė atitinka metriku su žymėmis ir verte.
# HELP go_gc_duration_seconds Santrauka apie sustojimo trukmę Go šiukšlių surinkėjo. # TYPE go_gc_duration_seconds summary go_gc_duration_seconds{quantile="0"} 6.14e-06 go_gc_duration_seconds{quantile="0.25"} 1.0281e-05 go_gc_duration_seconds{quantile="0.5"} 1.2357e-05 -
Protobuf per gRPC ar kitas RPC sistemas:
- Efektyvesnis dydžio ir analizės požiūriu.
- Dažnai naudojamas didelio apkrovimo sistemose arba perduodant duomenis per ribotą pralaidumą tinkluose.
- Reikalauja metrikų struktūros apibrėžimo
.protofailuose.
-
JSON per HTTP API:
- Populiarus formatas, kurį lengva analizuoti daugeliui sistemų.
- Eksportuotojas teikia HTTP API, per kurį galima gauti metrikas JSON formatu.
{ "metrics": [ { "name": "http_requests_total", "labels": { "method": "GET", "status": "200" }, "value": 1024 } ] } -
OpenTelemetry Protocol (OTLP):
- Standartizuotas protokolas telemetrijai (metrikiams, trasažui, žurnalams) rinkti.
- Palaiko duomenų perdavimą per gRPC ar HTTP.
- Duomenų protokolai paremti Protobuf.
-
Nuosavi protokolai:
- Kai kurios stebėjimo sistemos ar agentai naudoja savo protokolus, optimizuotus jų specifiniams poreikiams.
Protokolo pasirinkimas priklauso nuo stebėjimo sistemos, eksportuotojo tipo, našumo reikalavimų ir lankstumo. Dažniausiai Prometheus ekosistemoje naudojamas būdas — metrikų scrap'inimas per HTTP nativiu tekstiniu formatu.