Zabbixのicmppingですが、実際はfpingを実行して値を取得してます。
なので、icmpping監視を設定している場合、下記のようにpsコマンドを実行するとタイミングが合えばfpingのプロセス情報が取得できます。
]# ps -ef|grep fping
zabbix 20186 1494 0 16:52 ? 00:00:00 sh -c /usr/sbin/fping -C3 2>&1 </tmp/zabbix_server_1494.pinger;/usr/sbin/fping6 -C3 2>&1 </tmp/zabbix_server_1494.pinger;
zabbix 20187 20186 0 16:52 ? 00:00:00 /usr/sbin/fping -C3
root 20189 20149 0 16:52 pts/0 00:00:00 grep fping
因みにfping実行の際、複数ホストにpingを行う機能があり、Zabbixも利用しています。ホストのリストは「/tmp/zabbix_server_PID.pinger」というファイルが監視タイミングで作成されます。
]# cat /tmp/zabbix_server_1494.pinger
192.168.xxx.101
192.168.xxx.102
127.0.0.1
上記はicmppingの第1引数の\以外の引数が同じicmppingを3つ登録した場合になります。
で、実際にfpingを実行すると、以下の様な情報が取得されます。
]# /usr/sbin/fping -C3 2>&1 </tmp/test.tmp
127.0.0.1 : [0], 96 bytes, 0.03 ms (0.03 avg, 0% loss)
192.168.xxx.101 : [0], 96 bytes, 0.02 ms (0.02 avg, 0% loss)
127.0.0.1 : [1], 96 bytes, 0.06 ms (0.04 avg, 0% loss)
192.168.xxx.101 : [1], 96 bytes, 0.02 ms (0.02 avg, 0% loss)
ICMP Host Unreachable from 192.168.xxx.xxx for ICMP Echo sent to 192.168.xxx.102
ICMP Host Unreachable from 192.168.xxx.xxx for ICMP Echo sent to 192.168.xxx.102
127.0.0.1 : [2], 96 bytes, 0.02 ms (0.03 avg, 0% loss)
192.168.xxx.101 : [2], 96 bytes, 0.02 ms (0.02 avg, 0% loss)
192.168.xxx.102 : - - -
127.0.0.1 : 0.03 0.06 0.02
192.168.xxx.101 : 0.02 0.02 0.02
※:192.168.xxx.102は存在しないIPアドレスです。
上記結果で下記のフォーマとに一致し、回数が0から-C オプションに指定した回数までが一つでも存在する場合レスポンスがあったと判断します。
回数
IPアドレス : [n] …
icmpping監視には下記の3つがあります。
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
icmppingsec監視のみ第6引数があり、min、max、avg(デフォルト)のいずれか1つを指定します。
第2引数~第5引数のfpingオプションの対応は以下になります。 また、第2引数以外はZabbixのデフォルトとfpingのデフォルトは同一になります。
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
第2引数 <packets>
Zabbixのデフォルト:3回
fpingのオプション -C
第3引数 <interval>
Zabbixのデフォルト:1000ミリ秒
fpingのオプション -p
第4引数 <size>
Zabbixのデフォルト:68バイト
fpingのオプション -b
第5引数 <timeout>
Zabbixのデフォルト:500ミリ秒
fpingのオプション -t
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
icmpping監視は「IPアドレス : [n]」が
1回でもあれば1
1回も無ければ0
を返却します。
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
icmppingloss監視は「IPアドレス : [n]」の回数をカウントし、
(-Cオプションの設定値 - 回数) / -Cオプションの設定値 * 100
を返却します。
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>]
icmppingsec監視は「IPアドレス : [n]」の有効な応答時間からmin(最小)、max(最大)、avg(平均)を算出し、
<mode>に指定したmin max avgに対応する値を
を返却します。
但し、有効な応答時間が1回もなかった場合は0が返却されます。