- はじめに
- エージェント
- インテグレーション
- Watchdog
- イベント
- ダッシュボード
- モバイルアプリケーション
- インフラストラクチャー
- サーバーレス
- メトリクス
- ノートブック
- アラート設定
- APM & Continuous Profiler
- CI Visibility
- RUM & セッションリプレイ
- データベース モニタリング
- ログ管理
- セキュリティプラットフォーム
- Synthetic モニタリング
- ネットワークモニタリング
- 開発者
- API
- アカウントの管理
- データセキュリティ
- ヘルプ
Go トレーサーには、Go 1.16+
および Datadog Agent >= 5.21.1
が必要です。サポートするライブラリの一覧については、互換性要件ページをご覧ください。
コンフィギュレーションおよび API の使用の詳細については、Datadog の API ドキュメントを参照してください。
APM で使用される用語の説明については、「APM を開始する」セクションを参照してください。寄稿の詳細については、公式リポジトリ README.md を確認してください。
古いバージョンのトレーサー(例: v<0.6.x)から最新バージョンに移行する必要がある場合は、移行ドキュメントを使用してください。
トレースを設定すると、Continuous Profiler も設定され、アプリからプロファイリングデータの受信を開始するために必要なのはプロファイラーを有効にすることだけです。
Datadog アプリ内のクイックスタート手順に従って、最高のエクスペリエンスを実現します。例:
service
、env
、version
タグを動的に設定します。それ以外の場合は、以下の指示に従って、Datadog トレーシングライブラリをコードに追加します。
Datadog には、一連のライブラリとフレームワークをインスツルメントするためにすぐに使用できるサポートを提供する一連の接続可能パッケージがあります。このパッケージのリストは、互換性要件ページにあります。このインテグレーションをトレースするには、アプリケーションにパッケージをインポートし、各インテグレーションと併せて掲載されているコンフィギュレーション手順に従ってください。
Datadog では、DD_ENV
、DD_SERVICE
、DD_VERSION
を使用して、サービスの env
、service
、version
を設定することを推奨します。
これらの環境変数の構成方法に関する推奨事項は、統合サービスタグ付けのドキュメントをお読みください。これらの変数は、Go トレーサーのバージョン 1.24.0 以降で利用可能です。
トレーサーの API を通じて、env
、service
、version
を指定することもできます。
package main
import (
"gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
)
func main() {
tracer.Start(
tracer.WithEnv("prod"),
tracer.WithService("test-go"),
tracer.WithServiceVersion("abc123"),
)
// トレーサーが停止すると、終了する前にトレーサー内のすべてのデータが Datadog Agent にフラッシュされます。
// この行は主要な関数内に残すようにしてください。
defer tracer.Stop()
}
Go トレーサーは、コンフィギュレーション用の追加の環境変数と関数をサポートしています。 コンフィギュレーションドキュメントで利用可能なすべてのオプションを参照してください。
DD_VERSION
1.2.3
、6c44da20
、 2020.02.13
) を設定します。DD_SERVICE
DD_ENV
DD_AGENT_HOST
localhost
DD_DOGSTATSD_PORT
8125
DD_TRACE_SAMPLE_RATE
DD_TRACE_RATE_LIMIT
DD_TAGS
layer:api,team:intake
や layer:api team:intake
などです。DD_TRACE_STARTUP_LOGS
true
DD_TRACE_DEBUG
false
DD_TRACE_ENABLED
true
DD_SERVICE_MAPPING
null
mysql:mysql-service-name,postgres:postgres-service-name
、mysql:mysql-service-name postgres:postgres-service-name
のようにすることができます。インスツルメントされたアプリケーションからトレースを受信するように Datadog Agent をインストールして構成します。デフォルトでは、Datadog Agent は apm_config
下にある datadog.yaml
ファイルの enabled: true
で有効になっており、localhost:8126
でトレーストラフィックをリッスンします。コンテナ化環境の場合、以下のリンクに従って、Datadog Agent 内でトレース収集を有効にします。
メイン datadog.yaml
コンフィギュレーションファイルの apm_config
セクションで apm_non_local_traffic: true
を設定します。
コンテナ化された環境でトレースを受信するように Agent を構成する方法については、それぞれの説明を参照してください。
アプリケーションがインスツルメントされた後、トレースクライアントはデフォルトで Unix ドメインソケット /var/run/datadog/apm.socket
にトレースを送信しようとします。ソケットが存在しない場合、トレースは http://localhost:8126
に送信されます。
同様のルールが Go トレーサーから送られる全てのメトリクス (ランタイムメトリクスや内部テレメトリを含む) に適用されます。クライアントは Dogstatsd データを Unix ドメインソケット /var/run/datadog/dsd.socket
に送信しようとし、それが存在しない場合は http://localhost:8125
をデフォルトとします。
異なるホストやポートが必要な場合は、以下の環境変数を 1 つ以上使用します。この例ではデフォルト値を示していますが、他の値に設定することもできます。
DD_AGENT_HOST=localhost # The host to send traces and metrics to. Defaults to localhost.
DD_TRACE_AGENT_PORT=8126 # The port to send traces to. Defaults to 8126.
DD_DOGSTATSD_PORT=8125 # The port to send Dogstatsd metrics to. Defaults to 8125.
トレース用の接続は、コードで構成することも可能です。
package main
import "gopkg.in/DataDog/dd-trace-go.v1/ddtrace/tracer"
func main() {
tracer.Start(
// Unix Domain Socket configuration:
tracer.WithUDS("/var/run/datadog/apm.socket"),
// or, for a non-default TCP connection:
// tracer.WithAgentAddr("localhost:8126"),
// or, for an alternative UDP connection for Dogstatsd:
// tracer.WithDogstatsdAddress("localhost:8125"),
)
defer tracer.Stop()
// ...
}
DD_SITE
を
に設定して、Agent が正しい Datadog の場所にデータを送信するようにします。AWS Lambda で Datadog APM を設定するには、サーバーレス関数のトレースドキュメントを参照してください。
トレースは、Heroku、Cloud Foundry、AWS Elastic Beanstalk、Azure App Service など、他の多くの環境で利用できます。
その他の環境については、その環境のインテグレーションのドキュメントを参照し、セットアップの問題が発生した場合はサポートにお問い合わせください。
APM 環境名は、Agent 内 またはトレーサーの WithEnv スタートオプションを使用して構成できます。
Datadog APM トレーサーは、分散型トレーシングの B3 ヘッダーの抽出と挿入に対応しています。
分散したヘッダーの挿入と抽出は、挿入/抽出スタイルを構成することで制御されます。Datadog
と B3
の 2 つのスタイルがサポートされています。
以下の環境変数を使用して挿入スタイルを構成します
DD_PROPAGATION_STYLE_INJECT=Datadog,B3
以下の環境変数を使用して抽出スタイルを構成します
DD_PROPAGATION_STYLE_EXTRACT=Datadog,B3
これらの環境変数の値は、挿入または抽出が有効になっているヘッダースタイルのコンマ区切りリストです。デフォルトでは、Datadog
抽出スタイルのみが有効になっています。
複数の抽出スタイルが有効な場合、それらのスタイルが指定されている順序で抽出が試行されます。最初に正常に抽出された値が使用されます。
お役に立つドキュメント、リンクや記事: