Datadog ライブラリを使用してアプリケーションを自動的にインスツルメントするには
- Agent をインストールして構成します。
- Datadog のトレーシングライブラリをコードに追加します。
Agent のインストールと構成
インスツルメントしたアプリケーションからトレースを受信するように Datadog Agent をインストールおよび構成します。デフォルトでは、Datadog Agent は datadog.yaml ファイルの apm_config セクションで enabled: true と設定されており、http://localhost:8126 でトレースデータをリッスンしています。
コンテナ化された環境の場合は、以下のリンクを参照して Datadog Agent 内でトレースの収集を有効にしてください。
コンテナ
- メイン
datadog.yaml コンフィギュレーションファイルの apm_config セクションで apm_non_local_traffic: true を設定します。 - コンテナ化された環境でトレースを受信するように Agent を構成する方法については、それぞれの説明を参照してください。
<a class="card-grid-card" href="/agent/docker/apm/?tab=java">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Docker]()
</div>
</a>
<a class="card-grid-card" href="/agent/kubernetes/apm/?tab=helm">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Kubernetes]()
</div>
</a>
<a class="card-grid-card" href="/agent/amazon_ecs/apm/?tab=python">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Amazon ECS]()
</div>
</a>
<a class="card-grid-card" href="/integrations/ecs_fargate/#trace-collection">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![ECS Fargate]()
</div>
</a>
トレースクライアントはデフォルトで Unix ドメインソケット /var/run/datadog/apm.socket にトレースを送信しようとします。ソケットが存在しない場合、トレースは http://localhost:8126 に送信されます。
別のソケット、ホスト、またはポートが必要な場合は、環境変数 DD_TRACE_AGENT_URL を使用します。例:
DD_TRACE_AGENT_URL=http://custom-hostname:1234
DD_TRACE_AGENT_URL=unix:///var/run/datadog/apm.socket
同様に、トレースクライアントは Unix ドメインソケット /var/run/datadog/dsd.socket に統計情報を送信しようと試みます。ソケットが存在しない場合、統計情報は http://localhost:8125 に送信されます。
- Datadog Agent の
DD_SITE を に設定して、Agent が正しい Datadog の場所にデータを送信するようにします。
AWS Lambda
AWS Lambda で Datadog APM を設定するには、サーバーレス関数のトレースドキュメントを参照してください。
他の環境について
トレースは、Heroku、Cloud Foundry、AWS Elastic Beanstalk、Azure App Service など、他のいくつかの環境で利用できます。
その他の環境については、その環境のインテグレーションのドキュメントを参照し、セットアップの問題が発生した場合はサポートにお問い合わせください。
アプリケーションをインスツルメントする
次の公式 Datadog トレースライブラリのいずれかを使用してトレースを送信するようにアプリケーションを構成します。
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/java">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Java]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/python">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Python]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/ruby">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Ruby]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/go">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![go]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/nodejs">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Node.js]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/php">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![PHP]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/cpp">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![C++]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/rust/">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Rust]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/dotnet-core">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![.Net]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/dotnet-framework">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![.Net]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/android">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![Android]()
</div>
</a>
<a class="card-grid-card" href="/tracing/trace_collection/dd_libraries/ios">
<div class="card-body text-center py-2 px-1 d-flex flex-column align-items-center justify-content-center">
![iOS]()
</div>
</a>
公式ライブラリでサポートされていない言語で記述されたアプリケーションをインスツルメントする場合は、コミュニティトレーシングライブラリのリストを参照してください。