Compatibilidad con OpenTelemetry en Datadog

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

Configuraciones

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

Tipo de configuraciónAPISDKCollector/Agent
Datadog SDK + DDOT (Recommended)Datadog API u OTel APIDatadog SDKDatadog Distribution de OTel Collector (DDOT)
OTel SDK + DDOTOTel APIOTel SDKDatadog Distribution de OTel Collector (DDOT)
OTel SDK + OTLP OTel CollectorOTel APIOTel SDKOTLP OTel Collector
Direct OTLP IngestOTel APIOTel SDKN/A (dirigir al punto de conexión Datadog)

Compatibilidad de funciones

La siguiente tabla muestra la compatibilidad de funciones entre diferentes configuraciones:

FeatureDatadog SDK + DDOT (Recommended)OTel SDK + DDOTOTel SDK + OTLP OTel CollectorDirect OTLP Ingest
Cloud SIEM
Trazas, métricas y logs correlacionados
Distributed Tracing
Agent Observability
Runtime Metrics
Enlaces de tramo
Métricas de traza
(Calculado a partir de los tramos que llegan a Datadog; refleja cualquier muestreo del lado de OTel que usted configure.)
Database Monitoring (DBM)
Lista de servidores de infraestructura
Cloud Network Monitoring (CNM)
Kubernetes Monitoring
Live Container Monitoring
Live Processes
Universal Service Monitoring (USM)
App and API Protection (AAP)
Continuous Profiler
Data Observability: Jobs Monitoring (DJM)
Data Streams Monitoring (DSM)OTel no ofrece funcionalidad DSMOTel no ofrece funcionalidad DSM
Real User Monitoring (RUM)
Integración de código fuente

Soporte de API

Datadog SDKs brindan soporte para las OpenTelemetry Traces, Metrics, and Logs APIs en varios lenguajes. Busque su idioma en la tabla a continuación para obtener guías de configuración y detalles de soporte.

IdiomaTraces APIMetrics APILogs API
.NET
Python
Node.js
Java
Go
RubyAlfa
PHP

Más detalles

Agent Observability

Las trazas de OpenTelemetry que tienen atributos de IA generativa se convierten automáticamente en trazas de Agent Observability. Para deshabilitar esta conversión, consulte Disabling Agent Observability conversion.

Métricas de tiempo de ejecución

Real User Monitoring (RUM)

Para habilitar la funcionalidad completa de RUM, inyecte los encabezados compatibles para correlacionar RUM y trazas.

Cloud Network Monitoring (CNM)

El monitoreo a nivel de tramo o a nivel de punto de conexión no es compatible.

Para obtener más información, consulte Cloud Network Monitoring Setup.

Integración de código fuente

Para lenguajes no compatibles en configuraciones de OpenTelemetry, configure el etiquetado de telemetría para vincular los datos a una confirmación específica.

Niveles de soporte

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

Compatibilidad de plataforma y entorno

Aunque el OpenTelemetry Collector puede implementarse en muchos entornos, ciertas plataformas tienen limitaciones o requisitos de soporte específicos.

  • AWS EKS Fargate: Este entorno no es compatible actualmente y resultará en una facturación incorrecta del servidor de infraestructura cuando se utilice con el OpenTelemetry Collector. Se planea soporte oficial para una versión futura. Consulte Guía para configurar 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 posibles problemas:

  • Evitar instrumentación mixta: En la mayoría de los casos, no debe utilizar tanto Datadog SDK como OpenTelemetry SDK en la misma aplicación, ya que esto conduce a un comportamiento indefinido.
  • Evite el Agent y el Collector por separado en el mismo servidor: No ejecute el Datadog Agent y un OpenTelemetry Collector por separado en el mismo servidor, ya que esto puede causar problemas. Sin embargo, puede ejecutar Agents y Collectors en servidores diferentes dentro de la misma flota.

Lecturas adicionales

Documentación, enlaces y artículos útiles adicionales: