Présentation

Suivez ce guide pour installer la distribution Datadog du Collector OpenTelemetry (DDOT) sur des hosts bare-metal et des machines virtuelles basés sur Windows.

Prérequis

Pour compléter ce guide, vous avez besoin des éléments suivants :

Compte Datadog :

  1. Créez un compte Datadog si vous n’en avez pas.
  2. Trouvez ou créez votre clé d’API Datadog.

Logiciel :

  • Une version Windows prise en charge (Windows Server 2016+ ou Windows 10+). Consultez les plateformes prises en charge pour plus de détails.

Réseau :

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

Installer le Datadog Agent avec le Collector OpenTelemetry

Cette installation est requise pour les configurations Datadog SDK + DDOT et OpenTelemetry SDK + DDOT. Bien que le SDK Datadog implémente l'API OpenTelemetry, il nécessite toujours le Collector DDOT pour traiter et transférer les métriques et logs OTLP.

Installation

Pour installer le Collector DDOT sur un host Windows, utilisez la commande MSI suivante :

$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
}

Cette commande installe à la fois le package principal du Datadog Agent et le Collector DDOT qui s’exécute parallèlement.

Remarque : Pour l’Agent v7.78+, si le Datadog Agent est déjà installé sur le host, vous pouvez installer le Collector DDOT séparément. Exécutez depuis une session PowerShell élevée :

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

Validation

Exécutez la commande de statut de l’Agent pour vérifier l’installation.

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

Si aucune erreur n’a été rencontrée lors de l’installation, un rapport sur le statut de l’Agent est renvoyé. Les premières lignes ressemblent alors à ce qui suit :

====================
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

Il y aura également une OTel Agent section de statut qui inclut des informations 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

Configurez le Datadog Agent

Activez le DDOT Collector

Le fichier de configuration du Datadog Agent est automatiquement installé à C:\ProgramData\Datadog\datadog.yaml. L’installateur ajoute les paramètres de configuration suivants à C:\ProgramData\Datadog\datadog.yaml pour activer le DDOT Collector :

datadog.yaml

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

DDOT lie automatiquement l’OpenTelemetry Collector aux ports 4317 (grpc) et 4318 (http) par défaut.

(Facultatif) Activez des fonctionnalités Datadog supplémentaires

L'activation de ces fonctionnalités peut entraîner des frais supplémentaires. Consultez la page de tarification et parlez à votre responsable de la réussite client avant de continuer.

Pour obtenir une liste complète des options disponibles, consultez le fichier de référence entièrement commenté sur C:\ProgramData\Datadog\datadog.yaml.example. Sinon, consultez le fichier de configuration de l’Agent pour Windows sur GitHub.

Lors de l’activation de fonctionnalités Datadog supplémentaires, utilisez toujours les fichiers de configuration du Collector Datadog ou du Collector OpenTelemetry au lieu de vous fier aux variables d’environnement Datadog.

Configurez l’OpenTelemetry Collector

L’installateur fournit un exemple de configuration de l’OpenTelemetry Collector sur C:\ProgramData\Datadog\otel-config.yaml que vous pouvez utiliser comme point de départ.

L’exemple otel-config.yaml issu de l’installation ressemblera à ceci :

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]

Composants clés

Pour envoyer des données de télémétrie à Datadog, les composants suivants sont définis dans la configuration :

Diagramme illustrant le modèle de déploiement de l'Agent
Datadog connector

Le Datadog connector calcule les métriques de trace Datadog APM.

otel-config.yaml

connectors:
  datadog/connector:
    traces:
Datadog Exporter

Le Datadog exporter exporte des traces, des métriques et des logs vers Datadog.

otel-config.yaml

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

Remarque : Si key n’est pas spécifié ou défini sur un secret, ou si site n’est pas spécifié, le système utilise les valeurs de la configuration principale de l’Agent. Par défaut, l’Agent principal définit le site sur datadoghq.com (US1).

Prometheus receiver

Le Prometheus receiver collecte des métriques de santé depuis l’OpenTelemetry Collector pour le pipeline de métriques.

otel-config.yaml

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

Pour plus d’informations, consultez la documentation sur les Métriques de santé de Collector.

Envoyez votre télémétrie vers Datadog

Pour envoyer vos données de télémétrie vers Datadog :

  1. Instrumentez votre application
  2. Configurez l’application
  3. Corrélez les données d’observabilité
  4. Exécutez votre application

Instrumentez l’application

Instrumentez votre application en utilisant l’API OpenTelemetry.

À titre d’exemple, vous pouvez utiliser l’exemple d’application Calendrier qui est déjà instrumenté pour vous. Le code suivant instrumente la méthode CalendarService.getDate() en utilisant les annotations et l’API OpenTelemetry :

CalendarService.java

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

Configurez l’application

Votre application doit envoyer des données au DDOT Collector sur le même host. Assurez-vous que la variable d’environnement OTEL_EXPORTER_OTLP_ENDPOINT est définie sur votre application.

Si vous utilisez l’application exemple, run-otel-local.sh configure les variables d’environnement requises et exécute l’application :

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"

Remarque : vous pouvez exécuter ce script dans Git Bash, qui est inclus avec Git pour Windows.

Corréler les données d’observabilité

Unified service tagging relie les données d’observabilité dans Datadog afin que vous puissiez naviguer entre les métriques, les traces et les logs avec des tags cohérents.

Dans les environnements bare-metal, env, service et version sont définis via les variables d’environnement des attributs de ressource OpenTelemetry. Le DDOT Collector détecte cette configuration de marquage et l’applique aux données qu’il collecte depuis les applications.

Dans l’application exemple, cela est effectué dans 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"

Exécutez l’application

Redéployez votre application pour appliquer les modifications apportées à vos variables d’environnement. Une fois la configuration mise à jour active, unified service tagging est entièrement activé pour vos métriques, traces et logs.

Explorer les données d’observabilité dans Datadog

Utilisez Datadog pour explorer les données d’observabilité de votre application.

Automatisation du parc

Explorez vos configurations du Datadog Agent, du DDOT Collector et de l’OpenTelemetry Collector en amont.

Examinez la configuration de votre Agent et du Collector depuis la page Fleet Automation.

Surveillance de l’infrastructure

Affichez les métriques d’exécution et d’infrastructure pour visualiser, surveiller et mesurer les performances de vos hosts.

Affichez les métriques d'exécution et d'infrastructure depuis la liste des hosts.

Logs

Consultez les logs pour surveiller et diagnostiquer les opérations de l’application et du système.

Affichez les logs depuis le Log Explorer.

Traces

Affichez les traces et les spans pour observer le statut et les performances des requêtes traitées par votre application, avec des métriques d’infrastructure corrélées dans la même trace.

Affichez les traces depuis le Trace Explorer.

Métriques d’exécution

Surveillez les métriques d’exécution (JVM) de vos applications.

Affichez les métriques JVM depuis le dashboard des métriques JVM.

Métriques de santé du Collector

Affichez les métriques du DDOT Collector pour surveiller la santé du Collector.

Affichez les métriques de santé du Collector depuis le dashboard OTel.

Pour aller plus loin