Sobes.tech
Middle

Como é que os exportadores transmitem as métricas?

sobes.tech IA

Resposta da IA

Os exportadores usam vários protocolos e formatos para transmitir métricas para sistemas de monitoramento, como Prometheus, Grafana e outros. As principais abordagens:

  1. Protocolo Prometheus:

    • O exportador abre um servidor HTTP numa porta específica.
    • O sistema de monitoramento (por exemplo, um servidor Prometheus) realiza periodicamente "scraping" (obter) métricas deste servidor HTTP.
    • O formato de dados é de texto, específico para Prometheus, onde cada linha representa uma métrica com etiquetas e valor.
    # HELP go_gc_duration_seconds Um resumo das durações de pausa do coletor de lixo do Go.
    # TYPE go_gc_duration_seconds resumo
    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 outros frameworks RPC:

    • Formato de dados mais eficiente em tamanho e análise.
    • Frequentemente usado em sistemas de alta carga ou ao transmitir dados através de redes com capacidade limitada.
    • Requer definir a estrutura das métricas em ficheiros .proto.
  3. JSON via API HTTP:

    • Formato comum que é fácil de analisar por muitos sistemas.
    • O exportador fornece uma API HTTP, através da qual se podem obter métricas em formato JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. Protocolo OpenTelemetry (OTLP):

    • Protocolo padronizado para recolha de telemetria (métricas, traços, logs).
    • Suporta transmissão de dados via gRPC ou HTTP.
    • Os protocolos de dados baseiam-se em Protobuf.
  5. Protocolos Proprietários:

    • Alguns sistemas de monitoramento ou agentes usam seus próprios protocolos para transmitir dados, otimizados para as suas necessidades específicas.

A escolha do protocolo depende do sistema de monitoramento, do tipo de exportador, dos requisitos de desempenho e flexibilidade. A abordagem mais comum no ecossistema Prometheus é o scraping de métricas em formato de texto nativo via HTTP.