Sobes.tech
Middle

Comment les exportateurs transmettent-ils les métriques?

sobes.tech IA

Réponse de l'IA

Les exportateurs utilisent divers protocoles et formats pour transmettre des métriques aux systèmes de surveillance tels que Prometheus, Grafana et d’autres. Les principales approches :

  1. Protocole Prometheus :

    • L’exportateur ouvre un serveur HTTP sur un port spécifique.
    • Le système de surveillance (par exemple, un serveur Prometheus) effectue périodiquement un "scraping" (récupération) des métriques de ce serveur HTTP.
    • Le format de données est en texte, spécifique à Prometheus, où chaque ligne représente une métrique avec des étiquettes et une valeur.
    # HELP go_gc_duration_seconds Un résumé des durées de pause du ramasse-miettes de Go.
    # TYPE go_gc_duration_seconds résumé
    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 via gRPC ou autres frameworks RPC :

    • Format de données plus efficace en taille et en parsing.
    • Souvent utilisé dans des systèmes à haute charge ou lors de la transmission de données sur des réseaux à capacité limitée.
    • Nécessite de définir la structure des métriques dans des fichiers .proto.
  3. JSON via API HTTP :

    • Format courant facilement analysable par de nombreux systèmes.
    • L’exportateur fournit une API HTTP, à travers laquelle on peut obtenir des métriques en format JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. Protocole OpenTelemetry (OTLP) :

    • Protocole standardisé pour la collecte de télémétrie (métriques, traces, logs).
    • Supporte la transmission de données via gRPC ou HTTP.
    • Les protocoles de données sont basés sur Protobuf.
  5. Protocoles propriétaires :

    • Certains systèmes de surveillance ou agents utilisent leurs propres protocoles pour transmettre des données, optimisés pour leurs besoins spécifiques.

Le choix du protocole dépend du système de surveillance, du type d’exportateur, des exigences de performance et de flexibilité. L’approche la plus courante dans l’écosystème Prometheus est le scraping des métriques en format texte natif via HTTP.