Sobes.tech
Middle

Kako izvoznici prenose metrike?

sobes.tech АИ

Одговор од АИ

Eksporteri koriste različite protokole i formate za prenos metrika u sisteme za nadgledanje kao što su Prometheus, Grafana i drugi. Glavni pristupi:

  1. Prometheus protokol:

    • Eksporteri otvaraju HTTP server na određenom portu.
    • Sistem za nadgledanje (npr. Prometheus server) periodično "skrapuje" (preuzima) metrike sa tog HTTP servera.
    • Format podataka je tekstualni, specifičan za Prometheus, gde svaka linija predstavlja metriku sa oznakama i vrednošću.
    # HELP go_gc_duration_seconds Sažetak trajanja pauza u sakupljaču smeća u Go.
    # 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 putem gRPC ili drugih RPC okvira:

    • Efikasniji format podataka u pogledu veličine i parsiranja.
    • Često se koristi u sistemima sa velikim opterećenjem ili pri prenosu podataka preko mreža sa ograničenom kapacitetom.
    • Zahteva definisanje strukture metrika u .proto fajlovima.
  3. JSON putem HTTP API:

    • Često korišćen format koji je lako za parsiranje od strane mnogih sistema.
    • Eksporteri pružaju HTTP API putem kojeg se mogu dobiti metrike u JSON formatu.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. OpenTelemetry protokol (OTLP):

    • Standardizovan protokol za prikupljanje telemetrije (metrika, tragova, logova).
    • Podržava prenos podataka putem gRPC ili HTTP.
    • Podaci se zasnivaju na Protobuf-u.
  5. Proprietary protokoli:

    • Neki sistemi za nadgledanje ili agenti koriste svoje protokole za prenos podataka, optimizovane za njihove specifične potrebe.

Izbor protokola zavisi od sistema za nadgledanje, tipa eksportera, zahteva za performanse i fleksibilnosti. Najčešći pristup u ekosistemu Prometheus je skrapovanje metrika u nativnom tekstualnom formatu putem HTTP-a.