Go アプリケーションのトレース

互換性要件

Go トレーサーは、Go 1.17+ と Datadog Agent >= 5.21.1 が必要です。Datadog の Go バージョンとフレームワークのサポート一覧 (レガシーバージョンとメンテナンスバージョンを含む) については、互換性要件ページを参照してください。

インストールと利用開始

アプリ内のドキュメントに従ってください (推奨)

Datadog アプリ内のクイックスタート手順に従って、最高のエクスペリエンスを実現します。例:

  • デプロイコンフィギュレーション (ホスト、Docker、Kubernetes、または Amazon ECS) を範囲とする段階的な手順。
  • serviceenvversion タグを動的に設定します。
  • セットアップ中に Continuous Profiler、トレースの 100% 取り込み、およびトレース ID のログへの挿入を有効にします。

それ以外の場合は、以下の指示に従って、Datadog トレーシングライブラリをコードに追加し、Go インテグレーションを開始します。

APM に Datadog Agent を構成する

インスツルメントされたアプリケーションからトレースを受信するように Datadog Agent をインストールして構成します。デフォルトでは、Datadog Agent は apm_config 下にある datadog.yaml ファイルの enabled: true で有効になっており、localhost:8126 でトレーストラフィックをリッスンします。コンテナ化環境の場合、以下のリンクに従って、Datadog Agent 内でトレース収集を有効にします。

  1. メイン datadog.yaml コンフィギュレーションファイルapm_config セクションで apm_non_local_traffic: true を設定します。

  2. コンテナ化された環境でトレースを受信するように Agent を構成する方法については、それぞれの説明を参照してください。

Docker
Kubernetes
Amazon ECS
ECS Fargate

  1. アプリケーションがインスツルメントされた後、トレースクライアントはデフォルトで 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.
    

  1. Datadog Agent の DD_SITE に設定して、Agent が正しい Datadog の場所にデータを送信するようにします。

AWS Lambda で Datadog APM を設定するには、サーバーレス関数のトレースドキュメントを参照してください。

トレースは、HerokuCloud FoundryAWS Elastic BeanstalkAzure App Service など、他の多くの環境で利用できます。

その他の環境については、その環境のインテグレーションのドキュメントを参照し、セットアップの問題が発生した場合はサポートにお問い合わせください。

Go インテグレーションを有効にしてスパンを作成する

Datadog には、一連のライブラリとフレームワークをインスツルメントするためにすぐに使用できるサポートを提供する一連の接続可能パッケージがあります。このパッケージのリストは、互換性要件ページにあります。アプリケーションにこのパッケージをインポートし、各インテグレーションと併せて掲載されているコンフィギュレーション手順に従ってください。

ライブラリ構成

必要に応じて、統合サービスタグ付けの設定など、アプリケーションパフォーマンスのテレメトリーデータを送信するためのトレースライブラリーを構成します。詳しくは、ライブラリの構成を参照してください。

コンフィギュレーションおよび API の使用の詳細については、Datadog の API ドキュメントを参照してください。

その他の参考資料