Sobes.tech
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:

  1. 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
    
  2. 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 .proto failuose.
  3. 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
        }
      ]
    }
    
  4. OpenTelemetry Protocol (OTLP):

    • Standartizuotas protokolas telemetrijai (metrikiams, trasažui, žurnalams) rinkti.
    • Palaiko duomenų perdavimą per gRPC ar HTTP.
    • Duomenų protokolai paremti Protobuf.
  5. 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.