icmppingの条件式について
お世話になっております。
どなたかご存知の方いらっしゃいましたらご教示頂けますと幸いです。
シンプルチェックのicmppingを使用してネットワーク機器を監視します。
障害検知のトリガーとして設定したいのは、アイテムの更新間隔が来てPingした時に
NGだったら5分間Pingを実行し続けて、それでもNGなら障害として検知する、です。
下記2パターン試してみたのですが、うまくいきませんでした。
■パターン①
対象ホストのアイテムはシンプルチェックで
icmppingloss[,5,1000,32,3000]
を設定。
トリガーを
{host:icmppingloss[,5,1000,32,3000].min(300)}=100
で設定。
最低5分間Pingロスが100%だったら障害、と考えたのですがうまくいきませんでした。
■パターン②
対象ホストのアイテムはシンプルチェックで
icmpping[,5,1000,32,3000]
を設定。
トリガーを
{host:icmpping[,5,1000,32,3000].min(300)}=0
で設定。
最低5分間Ping応答無し(0)だったら障害、と考えたのですがうまくいきませんでした。
Zabbixのバージョンは2.2.11(ZS-5220アプライアンス)です。
何卒よろしくお願い致します。
TNK - 投稿数: 4769
「うまくいきませんでした。」というのが、どううまくいかなかっ
たのか、Webインターフェース上にどう表示されるかとか、ログに
何か出力されていたとか、発生している現象をより具体的にお教え
ください。
気になったのは、「5分間Pingを実行し続けて」というのを、この
1つのアイテムで実現しようとされていますか?
このアイテムの更新間隔としては何秒を指定しているのですか?
Zabbixの場合、アイテムの値を取得するのに許される時間は、デフ
ォルトでは3秒でタイムアウトしてしまいます。
Zabbixサーバの設定のTimeoutの値を変更することで、最大30秒ま
で伸ばすことができます。
ですので、icmppingloss[]の引数のintervalはもっと短くして、
更新間隔と組み合わせて5分間に複数回値の取得を行って、それを
トリガーの条件式で判断するように設定した方が良いと思います。
MI - 投稿数: 4
TNK様
早速のご返信ありがとうごじます。
うまくいかなかった判断基準を記載しておらず失礼しました。
①・②ともにアイテムの更新間隔を60秒にしています。
例えば下記とした場合
a. Zabbixの最新のチェック時刻:11:00:00
b. 機器のLANケーブル抜線時刻:11:00:30
c. Zabbixの次のチェック時刻:11:01:00
①・②ともにc(次回の更新)のタイミングで障害検知してしまいます。
→これがうまくいかないと判断した点です。
実現したいのは、cのタイミングでPingがNGになった時に更に5分間Pingを実行し続けて
それでもNGであれば障害として検知する、となります。
>更新間隔と組み合わせて5分間に複数回値の取得を行って、それを
>トリガーの条件式で判断するように設定した方が良いと思います。
こちらの件ですが、例えば対象ホストのアイテムをシンプルチェック(更新間隔は60秒)で
設定してトリガーを
{host:icmpping[,5,1000,32,3000].max(#6)}=0
で設定。
1分間隔のPingなので6回連続(都合5分間)失敗したら障害として検知する、ということを
示唆しておりますでしょうか。
よろしくお願い致します。
MI - 投稿数: 4
TNK様
ご回答が一点漏れておりました。
>気になったのは、「5分間Pingを実行し続けて」というのを、この
>1つのアイテムで実現しようとされていますか?
現状は
①icmppingloss[,5,1000,32,3000]のアイテムを1つ。
②icmpping[,5,1000,32,3000]のアイテムを1つ。
としております。
MI - 投稿数: 4
TNK様
②でトリガー関数をminではなくmaxにし
{host:icmpping[,5,1000,32,3000].max(300)}=0
としたら、ほぼ想定どおりの障害検知をしてくれました。
「ほぼ」と記載したのはmax(300)ですと240秒で障害検知としてしまうため
{host:icmpping[,5,1000,32,3000].max(360)}=0
とすることで、5分後に障害検知してくれました。
なぜ、60秒のズレがあるのかまでは分かりませんでしたが。