Envoyer des métriques depuis OpenTelemetry vers Datadog
Présentation
OpenTelemetry (OTel) est un framework d’observabilité open source qui offre aux équipes informatiques des protocoles et des outils normalisés pour recueillir et acheminer des données de télémétrie. Créé en tant que projet incubateur par la Cloud Native Computing Foundation (CNCF), OTel propose un format standard pour instrumenter, générer et recueillir des données de télémétrie sur vos applications (notamment des métriques, des logs et des traces), qui sont ensuite transmises aux plateformes de surveillance en vue de leur analyse.
Configuration
Il existe deux façons d’envoyer des métriques OTel à Datadog : via l’Agent Datadog, ou via le Collector OTel. En utilisant l’Agent Datadog, vous pourrez tirer parti de toutes les fonctionnalités de l’Agent. Si vous avez besoin d’une solution plus universelle, utilisez le Collector OTel.
Utilisation de l’Agent Datadog
Configuration
- Instrumentez vos applications avec les SDK OpenTelemetry.
- Activez l’ingestion OTLP sur l’Agent Datadog.
- Envoyez les données de télémétrie OTLP depuis votre système à Datadog.
Utilisation du Collector OTel
Cette méthode facilite la collecte de données de télémétries depuis des sources autres que les SDK OTel (telles que d’autres bibliothèques, Prometheus, etc.), ainsi que leur transmission vers d’autres plateformes.
Configuration
- Instrumentez votre système avec OpenTelemetry.
- Consultez la documentation relative au Collector OTel pour installer la distribution
opentelemetry-collector-contrib
ou toute autre distribution comprenant l’exportateur Datadog. - Ajoutez un exportateur
datadog
dans votre fichier YAML de configuration OTel. L’exemple de fichier suivant contient la configuration minimum requise pour recueillir des métriques système :receivers:
hostmetrics:
scrapers:
load:
cpu:
disk:
filesystem:
memory:
network:
paging:
process:
processors:
batch:
timeout: 10s
exporters:
datadog:
api:
key: "<API key>"
site: "<Datadog site>"
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [batch]
exporters: [datadog]
Ajoutez votre clé d’API Datadog et votre site (par défaut, ce dernier est défini sur datadoghq.com
).
Consultez l’exemple de fichier de configuration pour découvrir les autres options disponibles.
Utiliser le Collector OTel avec l’Agent Datadog
Si vous souhaitez utiliser le Collector OTel tout en tirant parti de l’ensemble des fonctionnalités de Datadog, choisissez la méthode suivante :
SDK/bibliothèques OTel -> Collector OTel avec l’exportateur OTLP -> Agent Datadog -> Datadog
Configuration
- Instrumentez votre système avec OpenTelemetry.
- Activez l’ingestion OTLP via gRPC sur l’Agent Datadog.
- Ajoutez un exportateur OTLP dans votre fichier YAML de configuration OTel. Pointez l’exportateur vers l’endpoint de l’Agent Datadog. Par exemple, si votre Agent Datadog effectue l’écoute sur le port 4317 et que vous exécutez le Collector OTel sur le même host, vous pouvez définir l’exportateur comme suit :
receivers:
otlp:
protocols:
grpc:
# Set to different port from Datadog Agent OTLP ingest
# Point your instrumented application to port '5317' if using gRPC.
endpoint: "0.0.0.0:5317"
http:
# Set to different port from Datadog Agent OTLP ingest
# Point your instrumented application to port '5318' if using HTTP.
endpoint: "0.0.0.0:5318"
hostmetrics:
scrapers:
load:
cpu:
disk:
filesystem:
memory:
network:
paging:
process:
processors:
batch:
timeout: 10s
exporters:
otlp:
endpoint:
key: "0.0.0.0:4317"
tls:
insecure: true
service:
pipelines:
metrics:
receivers: [hostmetrics]
processors: [batch]
exporters: [otlp]
Si vous utilisez un environnement conteneurisé, assurez-vous que le paramètre endpoint
est défini sur le hostname approprié pour l’Agent Datadog.
Dashboards prêts à l’emploi
Datadog propose des dashboards prêts à l’emploi que vous pouvez copier et personnaliser. Pour utiliser les dashboards OpenTelemetry de Datadog, accédez à Dashboards > Dashboards list et recherchez opentelemetry
:
Le dashboard Host Metrics permet de visualiser les données recueillies depuis le récepteur de métriques de host. Le dashboard Collector Metrics affiche touts les autres types de métriques recueillies, en fonction du récepteur de métriques que vous avez choisi d’activer.
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: