# IP付加機能 / Pingポーリング

Pingポーリングは、監視対象機器にPingパケットを定期送信し、通信が可能かどうか（到達可能かどうか）を監視する機能です。トリガー機能と組み合わせることで、柔軟なネットワーク構成が可能になります。

## 基本設定

Pingポーリングの基本的な使用方法について説明します。
ここでは、IPアドレス「10.1.2.3」の機器を監視するものとします。トリガー機能を用いて、到達性が失われたときにスクリプト「flash:/scripts/pingdown.scp」が、到達性が回復したときにはスクリプト「flash:/scripts/pingup.scp」が実行されるよう設定します。
なお、IPの設定までは完了しているものとします。

1. ping-pollコマンドでPingポーリング設定を作成し、Pingポーリングモードに移動します。同コマンドでは、Pingポーリング設定の識別子として1～100の数値を指定します。

       awplus(config)# ping-poll 1

   本コマンド実行直後は監視対象機器が未設定であり、また、ポーリングも停止状態になっているため、すぐにはポーリングが行われません。実際にポーリングを開始するには、監視対象機器の指定やトリガーの設定などをすませた後、再度Pingポーリングモードに移動してactiveコマンドを実行する必要があります。
2. ipコマンドで監視対象機器を指定します。

       awplus(config-ping-poll)# ip 10.1.2.3
       awplus(config-ping-poll)# exit

3. 対象機器への到達性が失われたときにはdownイベントが発生するので、これを捕捉するトリガー「1」を作成します。type ping-pollコマンドでは、手順1で指定したPingポーリングの識別子とPingポーリングのイベント（ここではdown）を指定します。

       awplus(config)# trigger 1
       awplus(config-trigger)# type ping-poll 1 down
       awplus(config-trigger)# script 1 flash:/scripts/pingdown.scp
       awplus(config-trigger)# exit

   本製品は、10.1.2.3へのPingに5回連続して応答がなかったときに到達性が失われたと判断し、downイベントを発生します。到達性喪失の判断条件は、Pingポーリングモードのfail-countコマンド、sample-sizeコマンドで調整可能です。詳しくは次節「機器の状態」、および、各コマンドの解説をご覧ください。
4. 対象機器への到達性が復旧したときにはupイベントが発生するので、これを捕捉するトリガー「2」を作成します。type ping-pollコマンドでは、手順1で指定したPingポーリングの識別子とPingポーリングのイベント（ここではup）を指定します。

       awplus(config)# trigger 2
       awplus(config-trigger)# type ping-poll 1 up
       awplus(config-trigger)# script 1 flash:/scripts/pingup.scp
       awplus(config-trigger)# exit

   本製品は、いったん到達性が失われたと判断した後、10.1.2.3へのPingに30回連続で応答があったとき、到達性が回復したと判断し、upイベントを発生します。到達性回復の判断条件は、Pingポーリングモードのup-countコマンドで調整可能です。詳しくは次節「機器の状態」、および、各コマンドの解説をご覧ください。
5. 各種設定が完了したら、再度Pingポーリングモードに移動し、activeコマンドを実行してPingポーリングを開始します。

       awplus(config)# ping-poll 1
       awplus(config-ping-poll)# active

Pingポーリングの設定は、show ping-pollコマンドで確認します。
トリガーの設定は、show triggerコマンドで確認します。
Pingポーリングのカウンターは、show counter ping-pollコマンドで確認します。
Pingポーリングを最初からやりなおすには、clear ping-pollコマンドを実行します。本コマンドを実行すると、カウンターが初期化され、対象機器の状態が初期値の「Down」に戻ります。

    awplus# clear ping-poll 1

Note

本コマンドの実行により機器の状態が「Down」に戻っても、downイベントは発生しません。

Pingポーリングを一時停止するには、activeコマンドをno形式で実行します。

    awplus(config)# ping-poll 1
    awplus(config-ping-poll)# no active

Pingポーリングを再開するには、activeコマンドを使います。

    awplus(config)# ping-poll 1
    awplus(config-ping-poll)# active

Pingポーリングの設定を削除するには、ping-pollコマンドをno形式で実行します。

    awplus(config)# no ping-poll 1

Pingポーリングの実行中であっても、pingコマンド、tracerouteコマンドは問題なく使用できます。

## 機器の状態

Pingポーリングでは、監視対象機器の状態を次の4つに分類しています。初期状態は「Down」です。
Pingパケットの送信間隔（ポーリング間隔）にはnormal-intervalとcritical-intervalの2種類があり、機器の状態によって使い分けられます。

表 1：機器の状態
状態 | 説明 | ポーリング間隔
Up | 直前のsample-size回（初期値5回）のPingに対して、すべて応答があった状態（無応答が1回もない状態） | normal-interval（初期値30秒）
Critical Up | 直前のsample-size回（初期値5回）のPingに対して、1回以上、fail-count回（初期値5回）未満の無応答があった状態 | critical-interval（初期値1秒）
Down | （Down状態への遷移後）直前のPingに応答がなかった状態。Pingポーリング開始時の初期状態でもあります | critical-interval（初期値1秒）
Critical Down | （Down状態への遷移後）直前のPingに応答があった状態 | critical-interval（初期値1秒）

これら状態間での遷移は次のときに発生します。

表 2：機器の状態遷移
遷移前の状態 | 図中の番号 | 遷移条件 | 遷移後の状態
Up | 1 | 直前のPingに応答がなかった | Critical Up
Critical Up | 2a | 直前のsample-size回（初期値5回）のPingに対して、fail-count回（初期値5回）の無応答があった | Down
2b | 直前のsample-size回（初期値5回）のPingに対して、すべて応答があった | Up
Down | 3 | 直前のPingに応答があった | Critical Down
Critical Down | 4a | 直前のup-count回（初期値30回）のPingに対して、すべて応答があった（「Down」から「Critical Down」に遷移したときの1回を含む） | Up
4b | 直前のPingに応答がなかった | Down

## トリガー

Pingポーリングは、トリガーと併用することを想定した機能です。
トリガーを使用すると、監視対象機器への到達性喪失時と到達性回復時に任意のスクリプトを実行させることができます。
到達性の喪失と回復は、Pingポーリングトリガーを使って捕捉します。これには、triggerコマンド、type ping-pollコマンド、scriptコマンドを使います。
Pingポーリング「1」によって監視対象機器への到達性喪失を検出したら、スクリプト「flash:/scripts/pingdown.scp」を実行するトリガー「1」を作成します。

    awplus(config)# trigger 1
    awplus(config-trigger)# type ping-poll 1 down
    awplus(config-trigger)# script 1 flash:/scripts/pingdown.scp