Sobes.tech
Middle

Cum transmit exportatorii metricile?

sobes.tech AI

Răspuns de la AI

Exportatorii utilizează diferite protocoale și formate pentru a transmite metrici către sistemele de monitorizare, cum ar fi Prometheus, Grafana și altele. Abordările principale:

  1. Protocolul Prometheus:

    • Exportatorul deschide un server HTTP pe un port specific.
    • Sistemul de monitorizare (de exemplu, un server Prometheus) face periodic "scraping" (preluare) de metrici de la acest server HTTP.
    • Formatul de date este text, specific pentru Prometheus, unde fiecare linie reprezintă o metrică cu etichete și valoare.
    # HELP go_gc_duration_seconds O sumă a duratelor pauzelor colectorului de gunoi al 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 prin gRPC sau alte framework-uri RPC:

    • Format de date mai eficient în ceea ce privește dimensiunea și parsing-ul.
    • Este frecvent utilizat în sisteme cu trafic intens sau la transmiterea datelor prin rețele cu capacitate limitată.
    • Necesită definirea structurii metricilor în fișiere .proto.
  3. JSON prin API HTTP:

    • Format răspândit, ușor de analizat de către multe sisteme.
    • Exportatorul oferă o API HTTP, prin care se pot obține metrici în format JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. Protocolul OpenTelemetry (OTLP):

    • Protocol standardizat pentru colectarea telemetriei (metrici, trasări, jurnale).
    • Suportă transmiterea datelor prin gRPC sau HTTP.
    • Protocoalele de date sunt bazate pe Protobuf.
  5. Protocole proprietare:

    • Unele sisteme de monitorizare sau agenți utilizează propriile protocoale pentru transmiterea datelor, optimizate pentru nevoile lor specifice.

Alegerea protocolului depinde de sistemul de monitorizare, tipul de exportator, cerințele de performanță și flexibilitate. Abordarea cea mai răspândită în ecosistemul Prometheus este scraping-ul metricilor în format text nativ prin HTTP.