Este producto no es compatible con el sitio Datadog seleccionado. ().
Información general
Sigue esta guía para desplegar el Distribution of OpenTelemetry (DDOT) Collector como un DaemonSet de Kubernetes utilizando Helm o el Datadog Operator.
¿Necesitas componentes adicionales de OpenTelemetry? Si necesitas otros componentes adicionales que no están incluidos en el paquete por defecto, consulta la sección Uso de componentes personalizados de OpenTelemetry para ampliar las funciones del Datadog Agent. Para obtener una lista de los componentes incluidos por defecto, consulta Componentes del OpenTelemetry Collector.
Red: When using the Datadog SDK with OpenTelemetry API support, telemetry is routed to different components depending on the signal source. Ensure the following ports are accessible on your Datadog Agent or Collector:
Signal Source
Protocol
Port
Destination Component
OTel Metrics and Logs API
OTLP (gRPC/HTTP)
4317 / 4318
Datadog Agent OTLP Receiver or DDOT Collector
Datadog Tracing
Datadog trace intake
8126 (TCP)
Datadog Trace Agent
Runtime Metrics
DogStatsD
8125 (UDP)
DogStatsD Server
Instalar el Datadog Agent con el OpenTelemetry Collector
Esta instalación es necesaria para las siguientes configuraciones de Datadog: SDK + DDOT y SDK OpenTelemetry + DDOT. Aunque el SDK Datadog implementa la API OpenTelemetry, sigue necesitando que el DDOT Collector procese y reenvíe métricas y logs de OTLP.
Seleccionar el método de instalación
Elige uno de los siguientes métodos de instalación:
Datadog Operator: Un enfoque nativo en Kubernetes que automáticamente reconcilia y mantiene tu configuración de Datadog. Informa el estado del despliegue, el estado y los errores en su estado de recurso personalizado, y limita el riesgo de configuración errónea gracias a las opciones de configuración de nivel superior.
Helm chart: Una forma sencilla de desplegar el Datadog Agent. Proporciona capacidades de versionado, reversión y plantillas, haciendo que los despliegues sean consistentes y más fáciles de replicar.
Sustituye <DD_API_KEY> por tu clave de API real de Datadog.
Configurar el Datadog Agent
Después de desplegar el Datadog Operator, crea el recurso DatadogAgent que activa el despliegue del Datadog Agent, el Cluster Agent y los ejecutores de checks de clústeres (si se utilizan) en tu clúster Kubernetes. El Datadog Agent se despliega como un DaemonSet, ejecutando un pod en cada nodo de tu clúster.
Utiliza el archivo datadog-agent.yaml para especificar la configuración de tu despliegue de DatadogAgent.
El Datadog Operator vincula automáticamente el OpenTelemetry Collector con los puertos 4317 (llamado otel-grpc) y 4318 (llamado otel-http) por defecto.
(Opcional) Habilita las funciones adicionales de Datadog:
La activación de estas funciones puede conllevar cargos adicionales. Consulta la página de precios y habla con tu asesor de clientes antes de continuar.
Cuando actives funciones adicionales de Datadog, utiliza siempre los archivos de configuración de Datadog o del OpenTelemetry Collector en lugar de depender de las variables de entorno de Datadog.
Nota: A partir del Operator v1.22.0, el contenedor de DDOT utiliza la imagen ddot-collector en lugar de la imagen -full del Agent.
Cuando sustituyas la etiqueta (tag) de imagen del Agent de nodo, utiliza una etiqueta (tag) >= 7.67.0 para que se programe el contenedor de OTel (la imagen ddot-collector solo se admite en >= 7.67.0).
La imagen ddot-collector no tiene la variante -full. Si necesitas una imagen -full, configura spec.override.nodeAgent.image.name como imagen del Agent completa (por ejemplo, gcr.io/datadoghq/agent:7.72.1-full).
Utiliza un archivo YAML para especificar los parámetros del gráfico de Helm para el gráfico del Datadog Agent.
Crea un archivo datadog-values.yaml vacío:
touch datadog-values.yaml
Los parámetros no especificados utilizan los valores predeterminados de values.yaml.
Configura <DATADOG_SITE> como tu sitio Datadog. De lo contrario, en forma predeterminada será datadoghq.com, el sitio US1.
Activa el OpenTelemetry Collector y configura los puertos esenciales:
datadog-values.yaml
datadog:...otelCollector:enabled:trueports:- containerPort:"4317"# puerto por defecto para el receptor gRPC de OpenTelemetry.hostPort:"4317"name:otel-grpc- containerPort:"4318"# puerto por defecto para el receptor HTTP de OpenTelemetryhostPort:"4318"name:otel-http
Configura el hostPort para exponer el puerto del contenedor a la red externa. Esto permite configurar el exportador OTLP para que apunte a la dirección IP del nodo donde está asignado el Datadog Agent.
Si no deseas exponer el puerto, puedes utilizar en su lugar el servicio del Agent:
Elimina las entradas hostPort de tu archivo datadog-values.yaml.
En el archivo de despliegue de tu aplicación (deployment.yaml), configura el exportador OTLP para utilizar el servicio del Agent:
(Opcional) Habilita las funciones adicionales de Datadog:
La activación de estas funciones puede conllevar cargos adicionales. Consulta la página de precios y habla con tu asesor de clientes antes de continuar.
Cuando actives funciones adicionales de Datadog, utiliza siempre los archivos de configuración de Datadog o del OpenTelemetry Collector en lugar de depender de las variables de entorno de Datadog.
(Opcional) Recopila etiquetas (labels) de pods y utilízalas como etiquetas (tags) para adjuntarlas a métricas, trazas (traces) y logs:
El Datadog Operator proporciona un ejemplo de configuración del OpenTelemetry Collector que puedes utilizar como punto de partida. Si necesitas modificar esta configuración, el Datadog Operator tiene dos formas de proporcionar una configuración personalizada del Collector:
Configuración en línea: Añade tu configuración personalizada del Collector directamente en el campo features.otelCollector.conf.configData.
Configuración basada en ConfigMap: Almacena tu configuración del Collector en un ConfigMap y haz referencia a ella en el campo features.otelCollector.conf.configMap. Esta estrategia te permite mantener tu configuración del Collector desacoplada del recurso DatadogAgent.
Configuración en línea del Collector
En el siguiente fragmento, la configuración del Collector se coloca directamente debajo del parámetro features.otelCollector.conf.configData:
For the infraattributes processor to add Kubernetes tags, your telemetry must include the container.id resource attribute. This is often, but not always, added by OTel SDK auto-instrumentation.
If your tags are missing, see the troubleshooting guide for details on how to add this attribute.
Al aplicar el archivo datadog-agent.yaml que contiene este recurso DatadogAgent, el Operator monta automáticamente la configuración del Collector en el DaemonSet del Agent.
Archivo datadog-agent.yaml completo con configuración del Collector en línea
El archivo datadog-agent.yaml completo con configuración del Collector en línea debería tener el siguiente aspecto:
Para configuraciones más complejas o que se actualizan con frecuencia, almacenar la configuración del Collector en un ConfigMap puede simplificar el control de versiones.
Crea un ConfigMap que contenga tu configuración del Collector:
El gráfico de Helm de Datadog proporciona un ejemplo de configuración del OpenTelemetry Collector que puedes utilizar como punto de partida. Esta sección te guiará a través de los pipelines predefinidos y los componentes de OpenTelemetry incluidos.
Esta es la configuración completa del OpenTelemetry Collector en otel-config.yaml:
For the infraattributes processor to add Kubernetes tags, your telemetry must include the container.id resource attribute. This is often, but not always, added by OTel SDK auto-instrumentation.
If your tags are missing, see the troubleshooting guide for details on how to add this attribute.
Componentes clave
Para enviar datos de telemetría a Datadog, se definen los siguientes componentes en la configuración:
Nota: Si no se especifica key o se define para un secreto, o si no se especifica site, el sistema utiliza los valores de la configuración del Agent principal. Por defecto, el Agent principal establece su sitio en datadoghq.com (US1).
Receptor Prometheus
El Receptor Prometheus recopila métricas del estado del OpenTelemetry Collector para el pipeline de métricas.
Tu contenedor de aplicaciones debe enviar datos al DDOT Collector en el mismo host. Dado que el Collector se ejecuta como DaemonSet, debes especificar el host local como endpoint de OTLP.
Si aún no se ha definido la variable de entorno OTEL_EXPORTER_OTLP_ENDPOINT, añádela al archivo de manifiesto de despliegue de tu aplicación:
El etiquetado unificado de servicios une los datos de observabilidad en Datadog para que puedas recorrer métricas, trazas y logs con etiquetas (tags) coherentes.
En entornos en contenedores, configura env, service y version utilizando las variables de entorno de atributos de recursos de OpenTelemetry. El DDOT Collector detecta esta configuración de etiquetado y la aplica a los datos que recopila de los contenedores.
Añade las siguientes variables de entorno al manifiesto de despliegue de tu aplicación:
Vuelve a desplegar tu aplicación para aplicar los cambios realizados en el manifiesto de despliegue. Una vez que la configuración actualizada esté activa, el etiquetado unificado de servicios estará totalmente activado para tus métricas, trazas y logs.
Explorar datos de observabilidad en Datadog
Utiliza Datadog para explorar los datos de observabilidad de tu aplicación.
Automatización de flotas
Explora tu configuración del Datadog Agent y del Collector.
Monitorización de contenedores en directo
Monitoriza el estado de tu contenedor utilizando las funciones de monitorización de contenedores en directo.
Estado del nodo de la infraestructura
Consulta métricas de tiempo de ejecución y de infraestructura para visualizar, monitorizar y medir el rendimiento de tus nodos.
Logs
Consulta los logs para monitorizar y solucionar problemas de funcionamiento de la aplicación y el sistema.
Trazas
Consulta trazas (traces) y tramos (spans) para visualizar el estado y el rendimiento de las solicitudes procesadas por tu aplicación, con métricas de infraestructura correlacionadas en la misma traza.
Métricas de tiempos de ejecución
Monitoriza las métricas de tiempo de ejecución (JVM) de tus aplicaciones.
Métricas de estado del Collector
Visualiza las métricas del DDOT Collector para monitorizar el estado del Collector.