dd-agentをインストールした直後や新しくインテグレーションを追加した際に、メトリクスが送信できない状況が発生することがあります。こうした際にデバッグ方法を知っていると非常に便利です。今回2本立てで、dd-agentに関連したトラブルの簡単なデバッグ方法をまとめてみたい思います。
dd-agentの構成要素
dd-agentは、下記の4つの要素から構成されています。
- Collector: dd-agentにインストールされているintegrationの種類に基づいてメトリクスを収集します。
- Dogstatsd: アプリのコードからわたれるカスタムメトリクスを集計用をするためのバックエンドサーバです。
- Forwarder: CollectorやDogstatsdから送信される情報を中継(bufferを含む)してDatadogのバックエンドに送信します。
- Supervisord: 上記の3つのプロセスの起動を管理するsupervisor process。
dd-agent内のコードとの対応:
構成機能名 | コード |
---|---|
Collector | agnet.py |
Dogstatsd | dogstats.py |
Forwarder | ddagent.py |
Supervisord | supervisor process |
*実際のソースコードは、次のgithubレポジトリになります。
構成図:
上記に紹介した構成要素を図に書くと以下の様になります。
(外側の四角がSupervisordに当たります)
*詳しくは、Datadogが提供している、次のドキュメントを参照してください。
logの保存先
以下に、デバッグに必要な情報が記録されているログファイルの保存先をリスト化します。
Debian/Ubuntu
- /var/log/datadog/collector.log
- /var/log/datadog/dogstatsd.log
- /var/log/datadog/forwarder.log
- /var/log/datadog/supervisord.log (since 3.8.0)
RHEL/CentOS/Fedora/Amazon Linux
- /var/log/datadog/collector.log
- /var/log/datadog/dogstatsd.log
- /var/log/datadog/forwarder.log
- /var/log/supervisor/datadog-supervisord.log (since 3.8.0)
Windows
v3.9.1以降のdd-agent
Windows Server 2008, Vistaと、それ以降のバージョン:
- C:\ProgramData\Datadog\logs\collector.log
- C:\ProgramData\Datadog\logs\ddagent.log
- C:\ProgramData\Datadog\logs\dogstatsd.log
- C:\ProgramData\Datadog\logs\forwarder.log
Windows Server 2003, XPと以前のバージョン:
- c:\Documents and Settings\All Users\Application Data\Datadog\logs\collector.log
- c:\Documents and Settings\All Users\Application Data\Datadog\logs\ddagent.log
- c:\Documents and Settings\All Users\Application Data\Datadog\logs\dogstatsd.log
- c:\Documents and Settings\All Users\Application Data\Datadog\logs\forwarder.log
Mac OS X
- /var/log/datadog/collector.log
- /var/log/datadog/dogstatsd.log
- /var/log/datadog/forwarder.log
- /var/log/supervisor/datadog-supervisord.log (since 3.8.0)
SmartOS
- /opt/local/datadog/logs/supervisord/collector.log
- /opt/local/datadog/logs/supervisord/dogstatsd.log
- /opt/local/datadog/logs/supervisord/forwarder.log
ソースからagentをインストール (raspbianなど)
- ~/.datadog-agent/supervisord/logs/supervisord.log
- ~/.datadog-agent/supervisord/logs/collector.log
- ~/.datadog-agent/supervisord/logs/dogstatsd.log
- ~/.datadog-agent/supervisord/logs/forwarder.log
*詳しくは、Datadogが提供している、次のドキュメントを参照してください。