概要

Datadog は、完全な OpenTelemetry (OTel) 実装から OpenTelemetry と Datadog コンポーネントを組み合わせたハイブリッド構成まで、さまざまなユースケースに対応する複数のセットアップオプションを提供しています。このページでは、さまざまなセットアップとサポートされている Datadog 製品および機能の互換性について説明し、ニーズに最適な構成を選択する手助けをします。

セットアップ

Datadog は、OpenTelemetry を使用するためのいくつかの構成をサポートしています。これらのセットアップの主な違いは、使用する SDK (OpenTelemetry または Datadog) と、テレメトリデータを処理して転送するために使用されるコレクターの違いです。

セットアップタイプAPISDKCollector/Agent
Datadog SDK + DDOT (推奨)Datadog API または OTel APIDatadog SDKDatadog Distribution of OTel Collector (DDOT)
OTel SDK + DDOTOTel APIOTel SDKDatadog Distribution of OTel Collector (DDOT)
OTel SDK + OTLP OTel CollectorOTel APIOTel SDKOTLP OTel Collector
Direct OTLP IngestOTel APIOTel SDK該当なし (Datadog エンドポイントへ直接)

機能の互換性

以下の表は、さまざまなセットアップ間の機能互換性を示しています。

機能Datadog SDK + DDOT (推奨)OTel SDK + DDOTOTel SDK + OTLP OTel CollectorDirect OTLP Ingest
Cloud SIEM
Correlated Traces、Metrics、Logs
Distributed Tracing
Agent Observability
Runtime Metrics
Span Links
Trace Metrics
(Datadog に到達したスパンから計算されます。構成した OTel 側のサンプリングが反映されます。)
Database Monitoring (DBM)
Infrastructure Host List
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 は DSM 機能を提供しませんOTel は DSM 機能を提供しません
Real User Monitoring (RUM)
Source code integration

API サポート

Datadog SDK は、さまざまな言語で OpenTelemetry のトレース、メトリクス、ログ API をサポートしています。以下の表で、ご利用の言語のセットアップガイドとサポートの詳細を確認してください。

言語トレース APIメトリクス APIログ API
.NET
Python
Node.js
Java
Go
RubyAlpha
PHP

詳細情報

Agent Observability

生成 AI 属性を持つ OpenTelemetry トレースは、自動的に Agent Observability トレースに変換されます。この変換を無効にするには、Agent Observability 変換の無効化 を参照してください。

ランタイムメトリクス

  • Datadog SDK の設定: DogStatsD (UDP ポート 8125) を使用して ランタイムメトリクス を発行します。Datadog Agent で DogStatsD が有効になっていることを確認してください。
  • OpenTelemetry SDK の設定: OpenTelemetry ランタイムメトリクス 仕様に従い、通常は OTLP (ポート 4317/4318) を使用して送信されます。

Real User Monitoring (RUM)

完全な RUM 機能を有効にするには、RUM とトレースを相関させるために サポートされているヘッダーを注入する 必要があります。

Cloud Network Monitoring (CNM)

スパンレベルまたはエンドポイントレベルのモニタリングはサポートされていません。

詳細については、Cloud Network Monitoring のセットアップ を参照してください。

ソースコードインテグレーション

OpenTelemetry のセットアップでサポートされていない言語については、テレメトリタグ付けの設定 を行い、データを特定のコミットにリンクします。

サポートレベル

Datadog は OpenTelemetry コンポーネントおよび構成に対して、さまざまなサポートレベルを提供します。

  • Datadog Supported Components: Datadog が提供するコンポーネント (Datadog Connector、Datadog Exporter、および Infra Attribute Processor など)これらのコンポーネントは Datadog によって保守され、定期的に更新され、バグ修正や機能強化の対象として優先されます。

  • Community Supported Components: デフォルトで DDOT Collector に含まれる OpenTelemetry コンポーネント。Datadog は、これらのコンポーネントが安全で安定しており、互換性があることを支援します。

  • Custom Components: デフォルトで含まれていない OpenTelemetry コンポーネントや構成 (たとえば、カスタム Collector コンポーネント や サポートされていないランタイムのインスツルメンテーション)Datadog は、出発点としてガイダンスとドキュメントを提供しますが、これらのコンポーネントの機能を直接サポートすることはありません。カスタムコンポーネントに関する問題については、OpenTelemetry コミュニティ またはコンポーネントのメンテナーに相談してください。

プラットフォームおよび環境のサポート

OpenTelemetry Collector は多くの環境にデプロイできますが、特定のプラットフォームには固有の制限やサポート要件があります。

  • AWS EKS Fargate: この環境は現在サポートされておらず、OpenTelemetry Collector と併用するとインフラストラクチャーホストの請求が不正確になります。公式サポートは将来のリリースで提供される予定です。最新の情報については、Collector セットアップガイド を参照してください。

ベストプラクティス

Datadog と OpenTelemetry を併用する際、Datadog は最適なパフォーマンスを実現し、潜在的な問題を回避するために以下のベストプラクティスを推奨します。

  • 混合インスツルメンテーションを避ける: ほとんどの場合、同じアプリケーションで Datadog SDK と OpenTelemetry SDK の両方を使用しないでください。未定義の動作につながる可能性があります。
  • 同一ホストでの Datadog Agent と別個の Collector の併用を避ける: 同じホスト上で Datadog Agent と別個の OpenTelemetry Collector を実行しないでください。問題が発生する可能性があります。ただし、同じフリート内の異なるホストで Agent と Collector を実行することはできます。

参考資料

役立つドキュメント、リンク、記事: