概要
TCP RTT チェックは、Agent のホストと Agent の通信相手のホストの間のラウンドトリップ回数を報告します。このチェックは受動的で、チェックの外部から送信されて受信したパケットの RTT 回数のみを報告します。チェック自身はパケットを送信しません。
このチェックは、64 ビットの DEB および RPM Datadog Agent v5 パッケージにのみ付属しています。Agent の他のバージョンで go-metro バイナリをビルドする方法については、Datadog/go-metro の使用法を参照してください。
セットアップ
インストール
このチェックは、発信パケットから対応する TCP 受信確認までの時間を計算するために、PCAP ライブラリで提供されているタイムスタンプを使用します。そのため、PCAP をインストールして構成する必要があります。
Debian ベースのシステムでは、以下のいずれかを使用します。
$ sudo apt-get install libcap
$ sudo apt-get install libcap2-bin
Redhat ベースのシステムでは、以下のいずれかを使用します。
$ sudo yum install libcap
$ sudo yum install compat-libcap1
最後に、PCAP を構成します。
$ sudo setcap cap_net_raw+ep /opt/datadog-agent/bin/go-metro
コンフィギュレーション
Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの go-metro.d/conf.yaml
を編集します。使用可能なすべてのコンフィギュレーションオプションの詳細については、サンプル go-metro.d/conf.yaml を参照してください。
次の例では、app.datadoghq.com
と 192.168.0.22
の TCP RTT 回数を取得します。
init_config:
snaplen: 512
idle_ttl: 300
exp_ttl: 60
statsd_ip: 127.0.0.1
statsd_port: 8125
log_to_file: true
log_level: info
instances:
- interface: eth0
tags:
- env:prod
ips:
- 45.33.125.153
hosts:
- app.datadoghq.com
検証
チェックが正しく実行されているかを検証するには、Datadog インターフェイスに表示される system.net.tcp.rtt
メトリクスを確認します。また、sudo /etc/init.d/datadog-agent status
を実行した場合は、以下のような結果が表示されます。
datadog-agent.service - "Datadog Agent"
Loaded: loaded (/lib/...datadog-agent.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-03-31 20:35:27 UTC; 42min ago
Process: 10016 ExecStop=/opt/.../supervisorctl -c /etc/dd-....conf shutdown (code=exited, status=0/SUCCESS)
Process: 10021 ExecStart=/opt/.../start_agent.sh (code=exited, status=0/SUCCESS)
Main PID: 10025 (supervisord)
CGroup: /system.slice/datadog-agent.service
├─10025 /opt/datadog-...python /opt/datadog-agent/bin/supervisord -c /etc/dd-agent/supervisor.conf
├─10043 /opt/datadog-...python /opt/datadog-agent/agent/dogstatsd.py --use-local-forwarder
├─10044 /opt/datadog-agent/bin/go-metro -cfg=/etc/dd-agent/conf.d/go-metro.yaml
├─10046 /opt/datadog-.../python /opt/datadog-agent/agent/ddagent.py
└─10047 /opt/datadog-.../python /opt/datadog-agent/agent/agent.py foreground --use-local-forwarder
TCP RTT チェックが開始している場合は、上のような go-metro 行が表示されます。
これは受動チェックなので、yaml ファイルで指定されているホストにパケットがアクティブに送信されない限り、メトリクスは報告されません。
収集データ
メトリクス
system.net.tcp.rtt (gauge) | The TCP round trip time. Shown as millisecond |
system.net.tcp.rtt.avg (gauge) | The average TCP round trip time as typically computed by the TCP stack. Shown as millisecond |
system.net.tcp.rtt.jitter (gauge) | The TCP round trip time jitter. Shown as millisecond |