トレーシングライブラリを使用しているアプリケーションが Datadog Agent に到達できない場合は、アプリケーションログと一緒に表示されるトレーサー起動ログトレーサーデバッグログで接続エラーがないかを確認してください。

APM 接続の問題を示唆するエラー

これらのメッセージが表示された場合は、トレースが Datadog Agent に送信されていないことを意味します。

トレーシングライブラリのエラー

マネージドログ

デバッグモードが有効になっていない場合も、マネージドログには接続拒否の問題に関するエラーが含まれます。

{ MachineName: ".", Process: "[114 sample-web-app]", AppDomain: "[1 sample-web-app]", TracerVersion: "1.28.2.0" }
2021-08-17 18:19:46.827 +00:00 [ERR] An error occurred while sending 1 traces to the agent at http://127.0.0.1:8126/v0.4/traces
System.Net.Http.HttpRequestException: Connection refused
 ---> System.Net.Sockets.SocketException (111): Connection refused
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---

Datadog Agent エラー

agent status コマンド (Agent 6.20.0/7.20.0 で使用可能) で APM が実行されていない、または localhost:8126 に到達できないと表示された場合は、Datadog Agent に APM が設定されておらず、トレースを Datadog のバックエンドに送信できません。

APM Agent
=========
  Status: Not running or unreachable on localhost:8126.

接続に関する問題のトラブルシューティング

トレースライブラリや Datadog Agent でのエラーなど、問題の種類に関わらずいくつかのトラブルシューティングをお試しいただけます。

ホストベースの設定

アプリケーションと Datadog Agent がコンテナ化されていない場合、トレーシングライブラリを使用しているアプリケーションはトレースを localhost:8126 または 127.0.0.1:8126 に送信しようとしているはずです。これらは Datadog Agent がリッスンしている場所を示します。

Datadog Agent が APM をリッスンしていない旨が表示された場合は、Datadog Agent の APM コンポーネントがデフォルトで使用しているポート 8126 とポートが競合していないかを確認します。

根本的な原因を特定できない場合は、次の情報をご準備の上で Datadog サポートまでご連絡ください。

  • アプリケーションと Datadog Agent をデプロイする環境についての情報。
  • プロキシを使用している場合は、その構成方法に関する情報。
  • デフォルトのポートを 8126 から別のポートに変更しようとしている場合は、そのポートに関する情報。
  • Datadog Agent フレア

コンテナ化された設定

ネットワークコンフィギュレーションを確認する

コンテナ化された設定では、トレースを localhost または 127.0.0.1 に送信しても、Datadog Agent もコンテナ化されていて別の場所にあるため正しく動作しない場合があります。注意: Amazon ECS on Fargate および AWS EKS on Fargate にはこのルールは適用されません。

アプリケーションと Datadog Agent 間のネットワークが、その構成に必要なものと一致しているかどうかを判断します。

特に、Datadog Agent がポート 8126 にアクセスできること、およびアプリケーションが Datadog Agent のある場所にトレースを誘導できることを確認してください。 確認を行うには、次のコマンドの変数 {agent_ip}{agent_port} を置き換えて、アプリケーションコンテナから実行します。

curl -X GET http://{agent_ip}:{agent_port}/info

このコマンドが失敗した場合、コンテナは Agent にアクセスできません。この問題の原因を探るには、次のセクションを参照してください。

まずは、APM アプリ内設定についてのドキュメントを参照してください。

トレーシングライブラリがトレースを送信しようとしている場所を確認する

上記の各言語のエラーログを使用して、トレースがどこに向かっているのかを確認します。

以下の表で設定例をご確認ください。一部の製品では追加のネットワークコンフィギュレーションが必要なものもあります。

セットアップDD_AGENT_HOST
Amazon ECS on EC2Amazon の EC2 メタデータエンドポイントを評価する
Amazon ECS on FargateDD_AGENT_HOST は設定しないこと
AWS EKS on FargateDD_AGENT_HOST は設定しないこと
AWS Elastic Beanstalk - 単一コンテナゲートウェイの IP (通常は 172.17.0.1)
AWS Elastic Beanstalk - 複数コンテナDatadog Agent のコンテナ名を示すリンク
Kubernetes1) Unix ドメインソケット、2) status.hostIP を手動で追加、または 3) Admission Controller 経由。TCP を使用している場合は、コンテナに適用されるネットワークポリシーを確認します。
AWS EKS (Fargate 以外)1) Unix ドメインソケット、2) status.hostIP を手動で追加、3) Admission Controller 経由
Datadog Agent およびアプリケーションの Docker コンテナDatadog Agent コンテナ

Webサーバに関する注意点: トレーサー起動ログagent_url セクションで、渡された環境変数 DD_AGENT_HOST との不一致がある場合、その特定のサーバーで環境変数がどのようにカスケードされているかを確認してください。例えば、PHP では、ApacheNginx が環境変数 DD_AGENT_HOST を正しく取得するための追加設定があります。

トレースライブラリが設定に基づいて正しくトレースを送信していることを確認したら、次のステップに進みます。

Datadog Agent のステータスとコンフィギュレーションを確認する

Fargate 上で設定を行っていない場合は、Datadog Agent コンテナで exec を行って Agent status コマンド: agent status を実行することができます。

: 専用コンテナで Kubernetes を使用している場合は、専用の Trace Agent コンテナへ exec を行ってください。

APM Agent セクションで、この操作が実行されているかどうかを確認します。

=========
APM Agent
=========
  Status: Running
  Pid: <pid number>
  Uptime: <integer> seconds
  Mem alloc: <integer> bytes
  Hostname: <name of datadog agent container>
  Receiver: 0.0.0.0:8126
  Endpoints:
    https://trace.agent.datadoghq.com

  Receiver (previous minute)
  ==========================
    No traces received in the previous minute.
    Default priority sampling rate: 100.0%

コンフィギュレーションが正しくても接続エラーが発生する場合は、次の情報をご準備の上で Datadog サポートまでご連絡ください。

  • アプリケーションと Datadog Agent をデプロイする環境についての情報。
  • プロキシを使用している場合は、その構成方法に関する情報。
  • アプリケーションと Datadog Agent の設定に使用されたすべてのコンフィギュレーションファイル。
  • 接続エラーの概要が記載された起動ログまたはトレーサーデバッグログ。
  • Datadog Agent フレア。専用コンテナの場合は、Trace Agent 専用コンテナからフレアを送信します。
PREVIEWING: brett.blue/embedded-collector-release