複数ホストの監視アイテムにまたがるトリガの挙動について
いつもお世話になっております。
下記監視環境において、URL監視を行っておりますが、
特定の条件の場合、想定通りの動作とならず原因を調査しております。
--------------------
・zabbixバージョン(3.0.9)
zabbix-web-japanese-3.0.8-2.el7.noarch
zabbix-server-mysql-3.0.9-1.el7.x86_64
zabbix-release-3.0-1.el7.noarch
zabbix-web-3.0.8-2.el7.noarch
zabbix-get-3.0.8-2.el7.x86_64
zabbix-web-mysql-3.0.8-2.el7.noarch
zabbix-agent-3.0.8-2.el7.x86_64
--------------------
・OSバージョン
CentOS Linux release 7.2.1511(64bit)
--------------------
・ホスト
関係するホストは以下2ホスト
HostA(127.0.0.1)
HostB(127.0.0.1)(zabbixProxy経由)
--------------------
・Webシナリオ
内容はHostA,HostB共に同内容(同一URLを異なるホストから監視)
--------------------
・トリガー
HostA及びHostBからのURL監視(web.test.fail)、いずれも3回連続で失敗した場合に障害イベントとして検知
HostA、HostBからのURL監視(web.test.fail)、どちらかが3回連続で成功すると条件式を満たさなくなり復旧
HostAとHostBの監視アイテムにまたがる条件式です。
条件式は以下・・・
({TRIGGER.VALUE}=0 and ({HostA:web.test.fail[ScenarioA].count(#3,0,"gt")}=3 and {HostB:web.test.fail[ScenarioB].count(#3,0,"gt")}=3)) or ({TRIGGER.VALUE}=1 and ({HostA:web.test.fail[ScenarioA].count(#3,0,"gt")}<>0 or {HostB:web.test.fail[ScenarioB].count(#3,0,"gt")}<>0))
障害イベントを継続して生成は「無効」
--------------------
・メンテナンス期間
監視対象のWebシナリオに含まれるURLは毎日0:00~4:30のタイミングでシナリオが失敗(HTTPステータスコード200のシナリオ監視だが、前述の時間帯は503となる)するサイトの為、メンテナンス設定を利用して監視対象外としております。
設定内容は以下
メンテナンス期間
毎日・・・0:00~4:45の間
対象・・・HostA,HostB
データ収集あり
--------------------
・障害となった際の状態
監視対象のURLが0:00~6:00までステータスコード503となった日がありました。
メンテナンス期間あけの4:45の時点で障害を検知してくれたのですが、検知数が1ではなく2となりました。
同時分秒で2件検知(監視イベントで確認)です。
※また、上記の条件と同様の設定のセットが複数セット(HostA,Bとは別のURLをHostC,Dで同時に監視するようなセット)あり、こちらも同様の事象が発生
また本事象は再現性が無いようで、何度か同条件が状態が発生していますが、1件のみ検知となり、2件検知したのは今回問い合わせた1回のみです。
--------------------
・聞きたいこと
想定では1件のみ検知となる予定でしたが、何故2件検知されたのか原因分かる方いらっしゃいますでしょうか。
また同内容でお困りの方いらっしゃいますでしょうか。
yk_taiko - 投稿数: 184
同様の事象に合ったことは無いのですが、
Zabbixプロキシですと、よくある話として
プロキシ→サーバの通信で遅延が発生した際に意図せぬ挙動をしたりしますね。