Compatibilidad de Datadog y OpenTelemetry
Datadog ofrece múltiples opciones de configuración para adaptarse a diversos casos de uso, desde implementaciones completas de OpenTelemetry (OTel) hasta configuraciones híbridas que utilizan componentes tanto de OpenTelemetry como de Datadog. En esta página, se describe la compatibilidad entre las distintas configuraciones y los productos y funciones compatibles con Datadog, lo que te ayudará a elegir la mejor configuración para tus necesidades.
Configuraciones
Datadog admite varias configuraciones para el uso de OpenTelemetry. La principal diferencia entre estas configuraciones es la elección de SDK (OpenTelemetry o Datadog) y el recopilador utilizado para procesar y reenviar datos de telemetría.
Compatibilidad de funciones
En la siguiente tabla se muestra la compatibilidad de funciones en diferentes configuraciones:
Soporte de API
Los SDK Datadog son compatibles con las API de trazas, métricas y logs de OpenTelemetry en varios lenguajes. Busca tu lenguaje en la tabla siguiente para obtener guías de configuración e información de asistencia.
| Lenguaje | API de trazas | API de métricas | API de logs |
|---|
| .NET | | | |
| Python | | | |
| Node.js | | | |
| [Java] 34 | | Aún no es compatible | Aún no es compatible |
| Go | | Aún no es compatible | Aún no es compatible |
| Ruby | | Alpha | Aún no es compatible |
| PHP | | Aún no es compatible | Aún no es compatible |
Más detalles
LLM Observability
Las trazas de OpenTelemetry que tienen atributos de IA generativa se convierten automáticamente en trazas de LLM Observability. Para desactivar esta conversión, consulta Desactivar la conversión de LLM Observability.
Métricas de tiempos de ejecución
Real User Monitoring (RUM)
Para habilitar la funcionalidad de RUM completa, necesitas inyectar encabezados compatibles para correlacionar RUM y trazas.
Cloud Network Monitoring (CNM)
La monitorización a nivel de tramo o endpoint no es compatible.
Para más información, consulta Configuración de Cloud Network Monitoring.
Integración del código fuente
Para lenguajes no compatibles en configuraciones de OpenTelemetry, configura el etiquetado de telemetría para vincular los datos a una confirmación específica.
Aunque el OpenTelemetry Collector puede desplegarse en muchos entornos, algunas plataformas tienen limitaciones o requisitos de compatibilidad específicos.
- AWS EKS Fargate: Este entorno aún no es compatible y dará lugar a una facturación incorrecta del host de infraestructura cuando se utilice con el OpenTelemetry Collector. El soporte oficial está previsto para una futura versión. Consulta la guía de configuración del recopilador para obtener información más actualizada.
Prácticas recomendadas
Cuando se utiliza Datadog y OpenTelemetry juntos, Datadog recomienda las siguientes mejores prácticas para garantizar un rendimiento óptimo y evitar posibles problemas:
- Evita la instrumentación mixta: En la mayoría de los casos, no debes utilizar un SDK Datadog junto a un SDK OpenTelemetry en la misma aplicación, ya que esto conduce a un comportamiento indefinido.
- Excepción: La compatibilidad con algunos lenguajes, como Python, requiere la instalación del SDK Datadog y del SDK OpenTelemetry.
- Sigue siempre la documentación de instrumentación específica del lenguaje para asegurarte de que estás utilizando la configuración correcta y compatible.
- Evita tener un Agent y un recopilador separado en el mismo host: no ejecutes el Agent y un OpenTelemetry Collector separado en el mismo host, ya que esto puede causar problemas. Sin embargo, puedes ejecutar Agents y recopiladores en diferentes hosts dentro de la misma flota.
Referencias adicionales
Más enlaces, artículos y documentación útiles: