Compatibilidad de Datadog y OpenTelemetry

Informació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 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.

Tipo de configuraciónAPISDKCollector/Agent
SDK Datadog + DDOT (Recomendado)API de Datadog o API de OpenTelemetrySDK DatadogDistribución Datadog del OTel Collector (DDOT)
SDK OTel + DDOTAPI de OTelSDK OTelDistribución Datadog del OTel Collector (DDOT)
SDK OTel + OSS CollectorAPI de OTelSDK OTelOTel Collector (OSS)
Ingesta OTLP directaAPI de OTelSDK OTelN/A (Directo al endpoint Datadog)

Compatibilidad de funciones

En la siguiente tabla se muestra la compatibilidad de funciones en diferentes configuraciones:

FunciónSDK Datadog + DDOT (Recomendado)SDK OTel + DDOTSDK OTel + OSS CollectorIngesta OTLP directa
Cloud SIEM
Trazas (traces) correlacionadas, métricas, logs
Rastreo distribuido
LLM Observability
Métricas de tiempo de ejecución
(solo Java, .NET, Go)

(solo Java, .NET, Go)

(solo Java, .NET, Go)
[Enlaces de tramo] (span)25
Métricas de trazas
(Calculado en tramos que llegan a Datadog; refleja cualquier muestreo del lado de OTel que configures.)
Database Monitoring (DBM)
Lista de hosts de infraestructura
Cloud Network Monitoring (CNM)
Live Container Monitoring/Kubernetes Explorer
Live Processes
Universal Service Monitoring (USM)
App and API Protection (AAP)
Continuous Profiler
Observabilidad de datos: monitorización de trabajos (DJM)
Data Streams Monitoring (DSM)OTel no ofrece la funcionalidad de DSMOTel no ofrece la funcionalidad de DSM
Real User Monitoring (RUM)
Integración de código fuente

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.

LenguajeAPI de trazasAPI de métricasAPI de logs
.NET
Python
Node.js
[Java] 34Aún no es compatibleAún no es compatible
GoAún no es compatibleAún no es compatible
RubyAlphaAún no es compatible
PHPAún no es compatibleAú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.

Soporte de plataformas y entornos

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.
  • 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: