Go-Metro
Incident Management が一般に使用できるようになりました。 Incident Management が広範に使用できるようになりました。

Go-Metro

Agent Check Agentチェック

Linux OS Supported

概要

TCP RTT チェックは、Agent が実行されているホストと Agent の通信相手のホストの間のラウンドトリップ回数を報告します。このチェックは受動的で、チェックの外部から送信されて受信したパケットの RTT 回数のみを報告します。チェック自身はパケットを送信しません。

このチェックは、64 ビットの DEB および RPM Datadog Agent v5 パッケージにのみ付属しています。現在、このチェックは Datadog Agent v6 では使用できません

セットアップ

ホストで実行されている Agent 用にこのチェックをインストールおよび構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照してこの手順を行ってください。

インストール

go-metro とも呼ばれる TCP RTT チェックは、Agent にパッケージ化されていますが、追加のシステムライブラリが必要です。このチェックは、発信パケットから対応する 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.yaml ファイルを編集します。利用可能なすべてのコンフィギュレーションのオプションについては、サンプル go-metro.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

: go-metro を権限のない状態で実行するには、バイナリで CAP_NET_RAW 機能を設定する必要があります。

# 必要なライブラリをインストール
$ sudo apt-get install libcap  # Debian
$ sudo apt-get install libcap2-bin  # Debian の代替alternative
$ sudo yum install libcap  # Redhat
$ sudo yum install compat-libcap1  # Redhat の代替

# 機能を設定
$ sudo setcap cap_net_raw+ep /opt/datadog-agent/bin/go-metro

製品ごとにパッケージの名称が異なるため、上記の説明に従っても 上手く操作できない場合には、apt-cache search libcap もしくは yum search libcap を発行してください。 バイナリを提供するパッケージのショートリストが表示されます。 サポートが必要な場合は、お気軽にお問い合わせください。

また、go-metro は独自のファイルにログを記録することにご注意ください。ログは /var/log/datadog/go-metro.log にあります。 さらに、go-metro はスタンドアロンで機能するため、現状では Agent の情報ページには表示 されません

最後に、go-metro バイナリは、Datadog Agent の 64-ビット RPM と DEB 製品のみに同梱されているため パッケージ化されたバージョンでのみ使用できます (つまり、go-metro は現在ソースインストールや 32-ビットパッケージでは利用できません)。

検証

チェックが正しく実行されているかを検証するには、Datadog インターフェイスに表示される system.net.tcp.rtt メトリクスを確認します。また、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. Available since Agent v5.7.0.
Shown as millisecond
system.net.tcp.rtt.avg
(gauge)
The average TCP round trip time as typically computed by the TCP stack. Available since Agent v5.7.0.
Shown as millisecond
system.net.tcp.rtt.jitter
(gauge)
The TCP round trip time jitter. Available since Agent v5.7.0.
Shown as millisecond

イベント

Go-metro チェックには、イベントは含まれません。

サービスのチェック

Go-metro チェックには、サービスのチェック機能は含まれません。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。