Compatibilidad entre Datadog y OpenTelemetry

Descripción general

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 tanto componentes de OpenTelemetry como de Datadog. Esta página cubre la compatibilidad entre diferentes configuraciones y los productos y características de Datadog compatibles, ayudándote a elegir la mejor configuración para tus necesidades.

Configuraciones

Datadog admite varias configuraciones para utilizar OpenTelemetry. La principal diferencia entre estas configuraciones es la elección del SDK (OpenTelemetry o Datadog) y el colector utilizado para procesar y enviar datos de telemetría.

Tipo de configuraciónAPISDKColector/Agente
SDK de Datadog + DDOT (Recomendado)API de Datadog o API de OTelSDK de DatadogDistribución de Datadog del colector de OTel (DDOT)
SDK de OTel + DDOTAPI de OTelSDK de OTelDistribución de Datadog del colector de OTel (DDOT)
SDK de OTel + Colector OSSAPI de OTelSDK de OTelColector de OTel (OSS)
Ingesta directa de OTLPAPI de OTelSDK de OTelN/A (Directo al endpoint de Datadog)

Compatibilidad de características

La siguiente tabla muestra la compatibilidad de características entre diferentes configuraciones:

CaracterísticaSDK de Datadog + DDOT (Recomendado)SDK de OTel + DDOTSDK de OTel + Colector OSSIngesta directa de OTLP
Cloud SIEM
Trazas, métricas y registros correlacionados
Trazado distribuido
Observabilidad de LLM
Métricas de Tiempo de Ejecución
Enlaces de Span
Métricas de Traza
(Calculated from spans that reach Datadog; reflects any OTel-side sampling you configure.)
Monitoreo de Base de Datos (DBM)
Lista de Servidores de Infraestructura
Cloud Network Monitoring (CNM)
Monitoreo de Contenedores en Vivo/Explorador de Kubernetes
Live Processes
Universal Service Monitoring (USM)
App and API Protection (AAP)
Continuous Profiler
Data Observability: Jobs Monitoring (DJM)
Data Streams Monitoring (DSM)OTel does not offer DSM functionalityOTel does not offer DSM functionality
Real User Monitoring (RUM)
Integración de Código Fuente

Soporte de API

Los SDKs de Datadog proporcionan soporte para las APIs de OpenTelemetry Traces, Metrics y Logs en varios lenguajes. Encuentra tu lenguaje en la tabla a continuación para guías de configuración y detalles de soporte.

LenguajeAPI de TracesAPI de MetricsAPI de Logs
.NET
Python
Node.js
JavaNo Soportado Aún
Go
RubyAlphaNo Soportado Aún
PHPNo Soportado Aún

Más detalles

Observabilidad de LLM

Las trazas de OpenTelemetry que tienen atributos de IA generativa se convierten automáticamente en trazas de LLM Observability. Para deshabilitar esta conversión, consulte Deshabilitar la conversión de Observabilidad de LLM.

Métricas de tiempo de ejecución

Monitoreo de Usuarios Reales (RUM)

Para habilitar la funcionalidad completa de RUM, necesita inyectar encabezados soportados para correlacionar RUM y trazas.

Monitoreo de Redes en la Nube (CNM)

El monitoreo a nivel de span o a nivel de endpoint no es compatible.

Para más información, consulte Configuración de Monitoreo de Redes en la Nube.

Integración de Código Fuente

Para lenguajes no soportados en configuraciones de OpenTelemetry, configure el etiquetado de telemetría para vincular datos a un commit específico.

Niveles de soporte

Datadog proporciona diferentes niveles de soporte para componentes y configuraciones de OpenTelemetry:

Soporte de plataforma y entorno

Si bien el Collector de OpenTelemetry se puede implementar en muchos entornos, ciertas plataformas tienen limitaciones específicas o requisitos de soporte.

  • AWS EKS Fargate: Este entorno no está actualmente soportado y resultará en una facturación incorrecta del servidor de infraestructura cuando se use con el OpenTelemetry Collector. Se planea soporte oficial para una futura versión. Consulte la guía de configuración del Collector para obtener la información más actualizada.

Mejores prácticas

Al usar Datadog y OpenTelemetry juntos, Datadog recomienda las siguientes mejores prácticas para garantizar un rendimiento óptimo y evitar problemas potenciales:

  • Evite la instrumentación mixta: En la mayoría de los casos, no debe usar tanto un SDK de Datadog como un SDK de OpenTelemetry en la misma aplicación, ya que esto conduce a un comportamiento indefinido.
    • Excepción: El soporte para algunos lenguajes, como Python, requiere que tanto el SDK de Datadog como el SDK de OpenTelemetry estén instalados.
    • Siempre siga la documentación de instrumentación específica para cada lenguaje para asegurarse de que está utilizando la configuración correcta y soportada.
  • Avoid Agent and separate Collector on same host: Evite el Datadog Agent y el OpenTelemetry Collector separado en el mismo servidor: No ejecute el Datadog Agent y un OpenTelemetry Collector separado en el mismo servidor, ya que esto puede causar problemas. Sin embargo, puede ejecutar Datadog Agents y OpenTelemetry Collectors en diferentes servidores dentro de la misma flota.

Lectura adicional

Más enlaces, artículos y documentación útiles: