Esta página proporciona una referencia completa de todas las métricas de HAProxy recopiladas a través de OpenTelemetry, incluidas las rutas de haproxyreceiver y del receptor Prometheus.
Descripción general
La integración de OpenTelemetry de HAProxy recopila métricas del extremo de estadísticas CSV de HAProxy a través del haproxyreceiver. Las métricas están organizadas en dos niveles:
- Métricas predeterminadas (17): recopiladas automáticamente con la configuración predeterminada — suficientes para la mayoría de los casos de uso de monitoreo
- Métricas opcionales (16): deshabilitadas de forma predeterminada, habilitadas individualmente en la sección del receptor
metrics— útiles para la depuración detallada y la planificación de capacidad
Al usar la instalación guiada de NRDOT, puede elegir entre dos configuraciones:
- Optimizado (menor ingesta): 17 métricas predeterminadas, intervalo de recopilación de 60 s, procesadores de optimización aplicados
- Completo (detalle completo): 27 métricas (17 predeterminadas + 10 opcionales), intervalo de recopilación de 15 s
Sugerencia
Para habilitar métricas opcionales, agréguelas a la sección metrics de la configuración de su receptor haproxy con enabled: true. Consulte Monitoree HAProxy autohospedado con OpenTelemetry para obtener detalles de configuración.
Métrica predeterminada
Estas 17 métricas se recopilan con la configuración predeterminada (no se necesita la sección metrics).
Nombre de la métrica | Descripción | Tipo | Unidad |
|---|---|---|---|
| Total de bytes recibidos por el proxy (recopilados por frontend, backend y servidor) | Suma (acumulativa) | Por |
| Total de bytes enviados por el proxy (recopilados por frontend, backend y servidor) | Suma (acumulativa) | Por |
| Número total de errores de conexión (solo backend y servidor) | Suma (acumulativa) | {errors} |
| Número de conexiones por segundo durante el último segundo transcurrido (solo frontend) | Medidor | {connections}/s |
| Número total de reintentos de conexión (solo backend y servidor) | Suma (acumulativa) | {retries} |
| Número total de requests denegadas (frontend y backend) | Suma (acumulativa) | {requests} |
| Número total de errores de solicitud (solo frontend) | Suma (acumulativa) | {errors} |
| Número actual de requests en cola (solo backend y servidor) | Medidor | {requests} |
| Número de requests HTTP por segundo durante el último segundo transcurrido (solo frontend) | Medidor | {requests}/s |
| Número total de reenvíos de requests (solo backend y servidor) | Suma (acumulativa) | {requests} |
| Número total de requests HTTP recibidos (frontend y backend) | Suma (acumulativa) | {requests} |
| Número total de respuestas denegadas (frontend, backend y servidor) | Suma (acumulativa) | {responses} |
| Número total de errores de respuesta (solo backend y servidor) | Suma (acumulativa) | {errors} |
| Número total de veces que se seleccionó un servidor para el balanceo de carga (backend y servidor) | Suma (acumulativa) | {selections} |
| Tiempo total de sesión promedio sobre las 1024 últimas requests, en segundos (backend y servidor) | Medidor | s |
| Número actual de sesiones activas (frontend, backend y servidor) | Medidor | {sessions} |
| Número de sesiones por segundo durante el último segundo transcurrido (frontend, backend y servidor) | Medidor | {sessions}/s |
Métricas opcionales
Estas 16 métricas están deshabilitadas de forma predeterminada. Habilítelas individualmente en la configuración de su recolector estableciendo enabled: true en la sección metrics del receptor.
La configuración integral de NRDOT habilita los primeros 10 de estos (marcados con [C]).
Nombre de la métrica | Descripción | Tipo | Unidad |
|---|---|---|---|
[C] | Tiempo de conexión promedio en segundos (monitoreo de latencia) | Medidor | s |
[C] | Tiempo de espera en cola promedio para requests en segundos | Medidor | s |
[C] | Tiempo de respuesta promedio en segundos | Medidor | s |
[C] | Número de servidores activos en un backend | Medidor | {servers} |
[C] | Número de servidores de respaldo en un backend | Medidor | {servers} |
[C] | Tiempo de inactividad total en segundos | Suma (acumulativa) | s |
[C] | Número total de comprobaciones de estado fallidas | Suma (acumulativa) | {checks} |
[C] | Peso del servidor (utilizado en las decisiones de balanceo de carga) | Medidor | {weight} |
[C] | Número total acumulado de sesiones | Suma (acumulativa) | {sessions} |
[C] | Número total acumulado de conexiones | Suma (acumulativa) | {connections} |
| Número total de bytes enviados al compresor | Suma (acumulativa) | Por |
| Número total de bytes emitidos por el compresor | Suma (acumulativa) | Por |
| Número total de bytes que omitieron la compresión | Suma (acumulativa) | Por |
| Número total de respuestas HTTP que fueron comprimidas | Suma (acumulativa) | {responses} |
| Número total de transferencias de datos abortadas por el cliente | Suma (acumulativa) | {cancellations} |
| Límite de sesiones configurado para el proxy | Medidor | {sessions} |
Atributos de recursos
Los siguientes atributos de recursos se adjuntan a todas las métricas de HAProxy, lo que proporciona contexto para filtrar y agrupar.
Atributo | Descripción | Valor de ejemplo |
|---|---|---|
| Nombre del proxy HAProxy (del nombre de la sección frontend/backend/listen en haproxy.cfg) |
,
,
|
| Identificador de tipo o nombre del servidor:
para agregados de frontend,
para agregados de backend o el nombre del servidor específico para métricas por servidor |
,
,
,
|
| La URL del extremo de estadísticas que se extrajo (utilizada como parte del identificador de entidad) |
|
| Identificador único del host (de
en Linux) |
|
| Nombre de host de la máquina que ejecuta el recolector |
|
| Tipo de sistema operativo |
|
Identificador de entidad: la entidad de HAProxy en New Relic se sintetiza a partir de host.id + haproxy.addr (por ejemplo, ec23da5ead46571f2c3a9771b093658b:http://localhost:8404/stats).
Mapeo de métrica de Prometheus
Si utiliza la ruta del receptor de Prometheus, la siguiente tabla muestra cómo los nombres de las métricas de HAProxy Prometheus se asignan a los equivalentes de haproxyreceiver de OTel. Cada métrica de OTel puede tener múltiples fuentes de Prometheus (una por nivel: frontend, backend, servidor).
OTel métrica | Frontend de Prometheus | Backend de Prometheus | Servidor Prometheus |
|---|---|---|---|
|
|
|
|
|
|
|
|
| — |
|
|
|
| — | — |
| — |
|
|
|
|
| — |
|
| — | — |
| — |
|
|
|
| — | — |
| — |
|
|
|
|
| — |
|
|
|
|
| — |
|
|
| — |
|
|
| — |
|
|
|
|
|
|
|
|
|
|
Importante
Limitaciones conocidas de la ruta de Prometheus:
- Sin FACET por código de estado: el haproxyreceiver analiza
hrsp_*campos CSV en un atributostatus_codeenhaproxy.requests.total. La ruta de Prometheus no admite esto — el desglose del código de respuesta HTTP está disponible solo como métricas separadas (haproxy_frontend_http_responses_total{code="2xx"}) no incluidas en la configuración de transformación. - Las métricas de tasa son máximos de por vida:
haproxy.connections.ratese asigna ahaproxy_frontend_connections_rate_maxyhaproxy.requests.ratese asigna ahaproxy_frontend_http_requests_rate_max. Estos son valores máximos de por vida, no tasas instantáneas. Para obtener tasas actuales reales, use la función NRQLrate()en métricas de contador acumulativo. - -136 métricas de Prometheus no tienen equivalente en OTel: el extremo de Prometheus de HAProxy expone -204 métricas. Solo 36 se asignan a las 17 métricas predeterminadas de OTel (en los niveles de frontend/backend/servidor). El resto (aspectos internos del proceso, detalles de la comprobación de estado, estadísticas de resolución de DNS) no tienen equivalente en haproxyreceiver.
Consultas NRQL de muestra
Utilice estas consultas para explorar sus métricas de HAProxy en New Relic:
-- Current sessions across all frontendsFROM Metric SELECT latest(haproxy.sessions.count)FACET haproxy.proxy_nameWHERE haproxy.service_name = 'FRONTEND'
-- Request rate per frontend over timeFROM Metric SELECT average(haproxy.requests.rate)FACET haproxy.proxy_nameWHERE haproxy.service_name = 'FRONTEND'TIMESERIES
-- Backend error rate (responses.errors as rate)FROM Metric SELECT rate(sum(haproxy.responses.errors), 1 second)FACET haproxy.proxy_nameWHERE haproxy.service_name = 'BACKEND'TIMESERIES
-- Bytes throughput per backendFROM Metric SELECT rate(sum(haproxy.bytes.input), 1 minute) AS 'Bytes In/min', rate(sum(haproxy.bytes.output), 1 minute) AS 'Bytes Out/min'FACET haproxy.proxy_nameWHERE haproxy.service_name = 'BACKEND'
-- Average session time per backend (latency indicator)FROM Metric SELECT average(haproxy.sessions.average)FACET haproxy.proxy_nameWHERE haproxy.service_name = 'BACKEND'
-- Per-server session count (individual backend servers)FROM Metric SELECT latest(haproxy.sessions.count)FACET haproxy.proxy_name, haproxy.service_nameWHERE haproxy.service_name NOT IN ('FRONTEND', 'BACKEND')
-- Queued requests (indicates backend saturation)FROM Metric SELECT max(haproxy.requests.queued)FACET haproxy.proxy_nameWHERE haproxy.service_name = 'BACKEND'TIMESERIESPróximos pasos
- Encuentra y consulta tus datos de HAProxy — dashboards, consultas NRQL y navegación de datos
- Monitorear HAProxy autohospedado — configuración para máquinas virtuales (VM) de Linux o bare metal
- Monitorear HAProxy en Kubernetes — descubrimiento automático de pods para entornos en contenedores
- Crear condiciones de alerta NRQL — configure alertas basadas en sus métricas de HAProxy