Sobes.tech
Middle

Come trasmettono le metriche gli esportatori?

sobes.tech AI

Risposta dell'AI

Gli esportatori utilizzano vari protocolli e formati per trasmettere metriche ai sistemi di monitoraggio come Prometheus, Grafana e altri. Gli approcci principali:

  1. Protoccolo Prometheus:

    • L'esportatore apre un server HTTP su una porta specifica.
    • Il sistema di monitoraggio (ad esempio, un server Prometheus) esegue periodicamente lo "scraping" (recupero) delle metriche da questo server HTTP.
    • Il formato dei dati è testuale, specifico per Prometheus, dove ogni riga rappresenta una metrica con etichette e valore.
    # HELP go_gc_duration_seconds Un riepilogo delle durate delle pause del garbage collector di 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 tramite gRPC o altri framework RPC:

    • Formato di dati più efficiente in termini di dimensioni e parsing.
    • Spesso usato in sistemi ad alta intensità o durante la trasmissione di dati su reti con capacità limitata.
    • Richiede la definizione della struttura delle metriche nei file .proto.
  3. JSON tramite API HTTP:

    • Formato diffuso facilmente analizzabile da molti sistemi.
    • L'esportatore fornisce un'API HTTP, tramite la quale è possibile ottenere metriche in formato JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. Protocolo OpenTelemetry (OTLP):

    • Protocollo standardizzato per la raccolta di telemetria (metriche, tracce, log).
    • Supporta la trasmissione di dati tramite gRPC o HTTP.
    • I protocolli di dati sono basati su Protobuf.
  5. Protocolli Proprietari:

    • Alcuni sistemi di monitoraggio o agenti usano propri protocolli per trasmettere dati, ottimizzati per le loro esigenze specifiche.

La scelta del protocollo dipende dal sistema di monitoraggio, dal tipo di esportatore, dai requisiti di prestazioni e flessibilità. L'approccio più diffuso nell'ecosistema Prometheus è lo scraping delle metriche in formato testo nativo via HTTP.