To find out if this integration is available in your organization, see your Datadog Integrations page or ask your organization administrator.
To initiate an exception request to enable this integration for your organization, email [email protected].
概要
このチェックでは、システムの ping コマンドを使用して、ホストの到達可能性をテストします。
また、オプションで、チェックから宛先ホストに送信されるメッセージの往復時間を測定します。
Ping は、インターネット制御メッセージプロトコル(ICMP)エコー要求パケットをターゲットホストに送信し、ICMP エコー応答を待機することで動作します。
ICMP パケットの作成には raw ソケットが必要であるため、このチェックでは ICMP エコー要求自体を生成するのではなく、システムの ping コマンドを使用します。raw ソケットの作成には Agent にないルート権限が必要です。ping コマンドは、setuid アクセスフラグを使用して昇格した権限で実行し、この問題を回避します。
Windows をお使いの方への注意事項: インストールされている Windows の言語が英語に設定されていない場合、このチェックが正しく行われないことがあります。
セットアップ
Ping チェックは Datadog Agent パッケージに含まれていないため、お客様自身でインストールする必要があります。
インストール
Agent v7.21 / v6.21 以降の場合は、下記の手順に従い Ping チェックをホストにインストールします。Docker Agent または 上記バージョン以前の Agent でインストールする場合は、コミュニティインテグレーションの使用をご参照ください。
以下のコマンドを実行して、Agent インテグレーションをインストールします。
# Linux
sudo -u dd-agent -- datadog-agent integration install -t datadog-ping==<INTEGRATION_VERSION>
# Windows
agent.exe integration install -t datadog-ping==<INTEGRATION_VERSION>
お使いの OS に合わせて、ping バイナリをインストールします。例えば、Ubuntu の場合、以下のコマンドを実行します。
apt-get install iputils-ping
コアのインテグレーションと同様にインテグレーションを構成します。
構成
ping のパフォーマンスデータの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの ping.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル ping.d/conf.yaml を参照してください。
Agent を再起動します。
検証
Agent の status サブコマンドを実行し、Checks セクションで ping を探します。
収集データ
メトリクス
| |
|---|
network.ping.response_time (gauge) | The response time of a given host and ping port, tagged with url, e.g. ‘host:192.168.1.100’. Shown as millisecond |
network.ping.can_connect (gauge) | Value of 1 if the agent can successfully communicate with the target host, 0 otherwise |
イベント
Ping チェックには、イベントは含まれません。
サービスチェック
network.ping.can_connect
Returns CRITICAL if the Agent cannot communicate with the target host. Returns OK if the ping is successful.
Statuses: ok, critical
トラブルシューティング
SubprocessOutputEmptyError: get_subprocess_output expected output but had none エラー
Ping インテグレーションを実行中に、以下のようなエラーが表示されることがあります。
Traceback (most recent call last):
File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/checks/base.py", line 1006, in run
self.check(instance)
File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/ping/ping.py", line 65, in check
lines = self._exec_ping(timeout, host)
File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/ping/ping.py", line 48, in _exec_ping
lines, err, retcode = get_subprocess_output(
File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/utils/subprocess_output.py", line 56, in get_subprocess_output
out, err, returncode = subprocess_output(cmd_args, raise_on_empty_output, env=env)
_util.SubprocessOutputEmptyError: get_subprocess_output expected output but had none.
Ping インテグレーションは Agent にデフォルトで含まれていないため、ping バイナリも Agent に含まれていません。インテグレーションを正常に実行するためには、自分で ping バイナリをインストールする必要があります。
ご不明な点は、Datadog のサポートチームまでお問合せください。