Descripción general

Siga esta guía para instalar la distribución de Datadog del OpenTelemetry (DDOT) Collector en hosts bare-metal y máquinas virtuales basados en Windows.

Requisitos

Para completar esta guía, necesita lo siguiente:

Una cuenta de Datadog:

  1. Cree una cuenta de Datadog si no tiene una.
  2. Busque o cree su clave de API de Datadog.

Software:

  • Una versión de Windows compatible (Windows Server 2016+ o Windows 10+). Consulte las plataformas compatibles para obtener más detalles.

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 SourceProtocolPortDestination Component
OTel Metrics and Logs APIOTLP (gRPC/HTTP)4317 / 4318Datadog Agent OTLP Receiver or DDOT Collector
Datadog TracingDatadog trace intake8126 (TCP)Datadog Trace Agent
Runtime MetricsDogStatsD8125 (UDP)DogStatsD Server

Instale el Datadog Agent con el OpenTelemetry Collector

Esta instalación es necesaria tanto para las configuraciones de Datadog SDK + DDOT como de OpenTelemetry SDK + DDOT. Aunque el Datadog SDK implementa la API de OpenTelemetry, todavía requiere el DDOT Collector para procesar y reenviar métricas y registros de OTLP.

Instalación

Para instalar el DDOT Collector en un servidor Windows, utilice el siguiente comando MSI:

$p = Start-Process -Wait -PassThru msiexec -ArgumentList '/qn /i "https://windows-agent.datadoghq.com/datadog-agent-7-latest.amd64.msi" /log C:\Windows\SystemTemp\install-datadog.log APIKEY="<DATADOG_API_KEY>" SITE="" DD_OTELCOLLECTOR_ENABLED=true'
if ($p.ExitCode -ne 0) {
  Write-Host "msiexec failed with exit code $($p.ExitCode) please check the logs at C:\Windows\SystemTemp\install-datadog.log" -ForegroundColor Red
}

Este comando instala tanto el paquete principal del Datadog Agent como el DDOT Collector que se ejecuta junto a él.

Nota: Para el Agent v7.78+, si el Datadog Agent ya está instalado en el servidor, puede instalar el DDOT Collector por separado. Ejecute desde una sesión de PowerShell con privilegios elevados:

& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" otel install

Validación

Ejecute el comando de estado del Agent para verificar la instalación.

& "$env:ProgramFiles\Datadog\Datadog Agent\bin\agent.exe" status

Una instalación exitosa devuelve un informe de estado del Agent que comienza con información del Agent como esta:

====================
Agent (v7.x.x)
====================
  Status date: 2025-08-22 18:35:17.449 UTC (1755887717449)
  Agent start: 2025-08-22 18:16:27.004 UTC (1755886587004)
  Pid: 2828211
  Go Version: go1.24.6
  Python Version: 3.12.11
  Build arch: amd64
  Agent flavor: agent
  FIPS Mode: not available
  Log Level: info

También habrá una sección de estado OTel Agent que incluye información de OpenTelemetry:

==========
OTel Agent
==========

  Status: Running
  Agent Version: 7.x.x
  Collector Version: v0.129.0

  Receiver
  ==========================
    Spans Accepted: 0
    Metric Points Accepted: 1055
    Log Records Accepted: 0

  Exporter
  ==========================
    Spans Sent: 0
    Metric Points Sent: 1055
    Log Records Sent: 0

Configure el Datadog Agent

Habilite el DDOT Collector

El archivo de configuración para el Datadog Agent se instala automáticamente en C:\ProgramData\Datadog\datadog.yaml. El instalador agrega los siguientes ajustes de configuración a C:\ProgramData\Datadog\datadog.yaml para habilitar el DDOT Collector:

datadog.yaml

otelcollector:
  enabled: true
agent_ipc:
  port: 5009
  config_refresh_interval: 60

DDOT vincula automáticamente el OpenTelemetry Collector a los puertos 4317 (grpc) y 4318 (http) de forma predeterminada.

(Opcional) Habilite funciones adicionales de Datadog

Habilitar estas funciones puede generar cargos adicionales. Revise la página de precios y hable con su Customer Success Manager antes de continuar.

Para obtener una lista completa de las opciones disponibles, consulte el archivo de referencia totalmente comentado en C:\ProgramData\Datadog\datadog.yaml.example. Alternativamente, consulte el archivo de configuración del Agente de ejemplo para Windows en GitHub.

Al habilitar funciones adicionales de Datadog, utilice siempre los archivos de configuración del Agente de Datadog o del OpenTelemetry Collector en lugar de depender de las variables de entorno de Datadog.

Configure el OpenTelemetry Collector

El instalador proporciona una configuración de ejemplo del OpenTelemetry Collector en C:\ProgramData\Datadog\otel-config.yaml que puede utilizar como punto de partida.

El otel-config.yaml de ejemplo de la instalación se verá parecido a esto:

otel-config.yaml

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: "otelcol"
          scrape_interval: 60s
          static_configs:
            - targets: ["0.0.0.0:8888"]
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
exporters:
  debug:
    verbosity: detailed
  datadog:
    api:
      key: <DATADOG_API_KEY>
      site: <DATADOG_SITE>
    sending_queue:
      batch:
        flush_timeout: 10s
processors:
  infraattributes:
    cardinality: 2
  cumulativetodelta:
connectors:
  datadog/connector:
    traces:
      compute_top_level_by_span_kind: true
      peer_tags_aggregation: true
      compute_stats_by_span_kind: true
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [infraattributes]
      exporters: [datadog, datadog/connector]
    metrics:
      receivers: [otlp, datadog/connector, prometheus]
      processors: [infraattributes, cumulativetodelta]
      exporters: [datadog]
    logs:
      receivers: [otlp]
      processors: [infraattributes]
      exporters: [datadog]

Componentes clave

Para enviar datos de telemetría a Datadog, los siguientes componentes se definen en la configuración:

Diagrama que representa el patrón de implementación del Agente
Conector de Datadog

El conector de Datadog calcula las métricas de traza de Datadog APM.

otel-config.yaml

connectors:
  datadog/connector:
    traces:
Datadog Exporter

El exportador de Datadog exporta trazas, métricas y registros a Datadog.

otel-config.yaml

exporters:
  datadog:
    api:
      key: <DATADOG_API_KEY>
      site: <DATADOG_SITE>
    sending_queue:
      batch:
        flush_timeout: 10s

Nota: Si key no se especifica o se establece como un secreto, o si site no se especifica, el sistema utiliza los valores de la configuración principal del Agente. De forma predeterminada, el Agente principal establece el sitio en datadoghq.com (US1).

Receptor de Prometheus

El receptor de Prometheus recopila métricas de estado del OpenTelemetry Collector para la canalización de métricas.

otel-config.yaml

receivers:
  prometheus:
    config:
      scrape_configs:
        - job_name: "otelcol"
          scrape_interval: 60s
          static_configs:
            - targets: ["0.0.0.0:8888"]

Para obtener más información, consulte la documentación de Métricas de estado del Collector.

Envíe su telemetría a Datadog

Para enviar sus datos de telemetría a Datadog:

  1. Instrumente su aplicación
  2. Configure la aplicación
  3. Correlacione los datos de observabilidad
  4. Ejecute su aplicación

Instrumente la aplicación

Instrumente su aplicación usando la API de OpenTelemetry.

Como ejemplo, puede usar la aplicación de muestra Calendar que ya está instrumentada para usted. El siguiente código instrumenta el método CalendarService.getDate() usando las anotaciones y la API de OpenTelemetry:

CalendarService.java

@WithSpan(kind = SpanKind.CLIENT)
public String getDate() {
    Span span = Span.current();
    span.setAttribute("peer.service", "random-date-service");
    ...
}

Configure la aplicación

Su aplicación debe enviar datos al DDOT Collector en el mismo servidor. Asegúrese de que la variable de entorno OTEL_EXPORTER_OTLP_ENDPOINT esté configurada en su aplicación.

Si utiliza la aplicación de ejemplo, run-otel-local.sh configura las variables de entorno necesarias y ejecuta la aplicación:

run-otel-local.sh

export OTEL_METRICS_EXPORTER="otlp"
export OTEL_LOGS_EXPORTER="otlp"
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4317"
export OTEL_EXPORTER_OTLP_PROTOCOL="grpc"

Nota: Puede ejecutar este script en Git Bash, que se incluye con Git para Windows.

Correlacione los datos de observabilidad

Unified service tagging vincula los datos de observabilidad en Datadog para que pueda navegar a través de métricas, trazas y registros con etiquetas consistentes.

En entornos bare-metal, env, service y version se configuran a través de las variables de entorno de los atributos de recursos de OpenTelemetry. El DDOT Collector detecta esta configuración de etiquetado y la aplica a los datos que recopila de las aplicaciones.

En la aplicación de ejemplo, esto se hace en run-otel-local.sh:

run-otel-local.sh

export OTEL_RESOURCE_ATTRIBUTES="service.name=my-calendar-service,service.version=1.0,deployment.environment.name=otel-test,host.name=calendar-host"

Ejecute la aplicación

Vuelva a implementar su aplicación para aplicar los cambios realizados en sus variables de entorno. Una vez que la configuración actualizada esté activa, el unified service tagging estará completamente habilitado para sus métricas, trazas y registros.

Explore los datos de observabilidad en Datadog

Utilice Datadog para explorar los datos de observabilidad de su aplicación.

Fleet Automation

Explore las configuraciones de su Datadog Agent, DDOT y upstream OpenTelemetry Collector.

Revise la configuración de su Agent y Collector desde la página de Fleet Automation.

Monitoreo de infraestructura

Vea las métricas de tiempo de ejecución y de infraestructura para visualizar, monitorear y medir el rendimiento de sus servidores.

Vea las métricas de tiempo de ejecución y de infraestructura desde la lista de servidores.

Registros

Vea los registros para monitorear y solucionar problemas de las operaciones del sistema y de la aplicación.

Vea los registros desde el Log Explorer.

Trazas

Vea las trazas y los spans para observar el estado y el rendimiento de las solicitudes procesadas por su aplicación, con métricas de infraestructura correlacionadas en la misma traza.

Vea las trazas desde el Trace Explorer.

Métricas de tiempo de ejecución

Monitoree las métricas de tiempo de ejecución (JVM) de sus aplicaciones.

Vea las métricas de JVM desde el JVM Metrics dashboard

Métricas de estado del Collector

Vea las métricas del DDOT Collector para hacer un seguimiento del estado del Collector.

Vea las métricas de estado del Collector desde el OTel dashboard.

Lecturas adicionales