Combinación de métricas de OpenTelemetry y Datadog
¡Obtén la vista previa!
La función equiv_otel()
se encuentra en vista previa. Si tienes algún comentario relacionado con esta función, ponte en contacto con el equipo de tu cuenta.
Datadog y OpenTelemetry (OTel) utilizan convenciones de nomenclatura diferentes para métricas de integración. Esta guía explica cómo combinar métricas de ambos sistemas en una única consulta mediante la función equiv_otel
de Datadog.
Retos a la hora de combinar métricas
Cuando se trabaja tanto con métricas de Datadog como de OTel, surgen dos retos principales. Examinémoslos utilizando como ejemplo la conexión de monitorización NGINX:
Diferentes convenciones de nomenclatura
Datadog y OTel manejan las mismas medidas de forma diferente:
- Datadog:
nginx.net.connections
(una métrica específica para las conexiones activas) - OTel:
nginx.connections_current
(captura todos los estados de conexión en una única métrica)- Requiere filtrado con
state:active
para que coincida con la métrica de conexiones activas de Datadog
Limitaciones de la agregación
La simple combinación de consultas de métricas separadas puede dar lugar a resultados incorrectos. Por ejemplo, si intentas combinar estas consultas:
avg:nginx.net.connections
avg:nginx.connections_current{state:active}
Se obtiene una media de medias, no la media real de todas las series temporales. Esto ocurre porque las funciones de métricas tradicionales combinan los resultados de consultas separadas en lugar de tratar los datos como una única métrica.
Combinación de métricas con la función equiv_otel
La función equiv_otel
combina automáticamente las métricas equivalentes de Datadog y OTel en una sola consulta. Realiza lo siguiente:
- Gestiona automáticamente la traducción de nombres de métrica
- Agrega correctamente todas las series temporales como una sola métrica
- Funciona bidireccionalmente (Datadog a OTel u OTel a Datadog)
- Preserva la semántica de agregación de consultas
Conversión de Datadog a OTel
Para incluir el equivalente de métricas de OTel en tu consulta, envuelve tu consulta de Datadog en equiv_otel
:
equiv_otel(avg:nginx.net.connections)
Esta consulta:
- Identifica la métrica equivalente de OTel (
nginx.connections_current{state:active}
) - Combina las series temporales de ambas métricas
- Aplica la agregación (
avg
) a todos los puntos de datos
Conversión de OTel a Datadog
Lo mismo funciona para incluir métricas de Datadog en una consulta de OTel:
equiv_otel(avg:nginx.connections_current{state:active})
La función sirve de la misma manera a la inversa, incluye automáticamente la métrica equivalente de Datadog (nginx.net.connections
).
Referencias adicionales
Más enlaces, artículos y documentación útiles: