Supported OS Linux Windows Mac OS

インテグレーションバージョン1.0.2

概要

このチェックでは、システムの 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 でインストールする場合は、コミュニティインテグレーションの使用をご参照ください。

  1. 以下のコマンドを実行して、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>
    
  2. お使いの OS に合わせて、ping バイナリをインストールします。例えば、Ubuntu の場合、以下のコマンドを実行します。

    apt-get install iputils-ping
    
  3. コアのインテグレーションと同様にインテグレーションを構成します。

構成

  1. ping のパフォーマンスデータの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの ping.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル ping.d/conf.yaml を参照してください。

  2. 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 のサポートチームまでお問合せください。