概要

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

セットアップ

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

セットアップタイプAPISDKコレクター/エージェント
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 + OSS CollectorOTel APIOTel SDKOTel Collector (OSS)
Direct OTLP IngestOTel APIOTel SDK該当なし (Datadog エンドポイントへ直接)

機能の互換性

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

機能Datadog SDK + DDOT (推奨)OTel SDK + DDOTOTel SDK + OSS CollectorDirect OTLP Ingest
Cloud SIEM
Correlated Traces、Metrics、Logs
Distributed Tracing
LLM Observability
Runtime Metrics
Span Links
Trace Metrics
(Calculated from spans that reach Datadog; reflects any OTel-side sampling you configure.)
Database Monitoring (DBM)
Infrastructure Host List
Cloud Network Monitoring (CNM)
Live Container Monitoring/Kubernetes Explorer
Live Processes
Universal Service Monitoring (USM)
App and API protection (AAP)
Continuous Profiler
Data Observability: Jobs Monitoring (DJM)
Data Streams Monitoring (DSM)OTel does not offer DSM functionalityOTel does not offer DSM functionality
Real User Monitoring (RUM)
Source code integration

APIサポート

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

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

詳細情報

LLM Observability

生成 AI 属性を持つOpenTelemetryトレースは、自動的に LLM Observability トレースに変換されます。この変換を無効にするには、LLM 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 ConnectorDatadog 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 を実行することはできます。

参考資料

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