Sobes.tech
Middle

¿Cómo transmiten los exportadores las métricas?

sobes.tech AI

Respuesta de la IA

Los exportadores utilizan diversos protocolos y formatos para transmitir métricas a sistemas de monitoreo, como Prometheus, Grafana y otros. Los enfoques principales:

  1. Protocolo Prometheus:

    • El exportador abre un servidor HTTP en un puerto determinado.
    • El sistema de monitoreo (por ejemplo, un servidor Prometheus) realiza periódicamente "scraping" (obtener) métricas de este servidor HTTP.
    • El formato de datos es de texto, específico para Prometheus, donde cada línea representa una métrica con etiquetas y valor.
    # HELP go_gc_duration_seconds Un resumen de las duraciones de pausa del recolector de basura de Go.
    # TYPE go_gc_duration_seconds resumen
    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 a través de gRPC u otros frameworks RPC:

    • Formato de datos más eficiente en tamaño y análisis.
    • Se usa frecuentemente en sistemas de alta carga o al transmitir datos a través de redes con capacidad limitada.
    • Requiere definir la estructura de métricas en archivos .proto.
  3. JSON vía API HTTP:

    • Formato común que es fácil de analizar por muchos sistemas.
    • El exportador proporciona una API HTTP, a través de la cual se pueden obtener métricas en formato JSON.
    {
      "metrics": [
        {
          "name": "http_requests_total",
          "labels": {
            "method": "GET",
            "status": "200"
          },
          "value": 1024
        }
      ]
    }
    
  4. Protocolo OpenTelemetry (OTLP):

    • Protocolo estandarizado para recopilar telemetría (métricas, trazas, logs).
    • Soporta transmisión de datos vía gRPC o HTTP.
    • Los protocolos de datos están basados en Protobuf.
  5. Protocolos Propietarios:

    • Algunos sistemas de monitoreo o agentes usan sus propios protocolos para transmitir datos, optimizados para sus necesidades específicas.

La elección del protocolo depende del sistema de monitoreo, tipo de exportador, requisitos de rendimiento y flexibilidad. La aproximación más común en el ecosistema Prometheus es el scraping de métricas en formato de texto nativo vía HTTP.