同一のログがメンテナンス明けに再度イベント発生し、発報される
CentOS 6.7で、ZABBIX 2.2.11を利用しています。
syslog(/var/log/messages)の監視を行っており、
特定の文字列を含むログが出たら、メールで発報されるようにしているのですが
同一のログを知らせるメールが2度送られてくる事象が起きており、
これがZABBIXの仕様なのか否かを確認したいと思っています。
▼発生した事象
4:20 ホストAにおいて/var/log/messagesに「特定の文字列」を含むログが書き込まれる
4:21 「特定の文字列」を含むためイベントが発生、アクションが実行されてメールが飛ぶ
14:14 ZABBIXの設定画面で、ホストAをメンテナンス状態にする
15:59 ホストAのメンテナンスモードを解除する
※この時点でsyslog(/var/log/messages)の最終行は、4:20に出た「特定の文字列」を含むログのまま。
ログは「次の行が生成される」ことで「障害解消」となるので、障害状態のままである。
16:00 再度イベントが発生、アクションが実行されてメールが飛ぶ
▼設定内容
トリガーの条件式は以下のようにしています。
(({ホストA:logrt["/var/log/messages[.-]*$",,,,skip].regexp(特定の文字列)})#0)
▼確認したこと
・障害のイベントは4:21と16:00の2度発生している
・4:21に1回目の障害が発生した後、16:00までの間に復旧したわけではない(「イベント」上で、障害のステータスが「正常」になっていない)
上記の事象は1度だけでなく、別の日時に同じ条件下で複数回発生しています。
ちなみに、
https://www.zabbix.com/documentation/2.2/jp/manual/maintenance
を確認したところ、
> メンテナンス中にトリガーがイベントを発生させた場合、
> メンテナンスの終了時点で追加のイベント(メンテナンス中に作成された最後のイベントと同一)が作成されます。
> このように、メンテナンス中に障害が発生し、それが解決されない場合、メンテナンス期間の終了後に通知レポートが生成されることがあります。
とありましたので、14:14~15:59のメンテナンス状態になっている間に、
新たにsyslogに「特定の文字列」を含むログが吐かれて、
15:59のメンテナンス明けに、それがイベントとして作成され、発報されるのは仕様だと思います。
ですが今回の件は、メンテナンスに入るより前の4:21に、一度イベントとして作成されているため、
メンテナンス期間の終了時点で、まだ障害状態であったとしても、本来は再度発報されないのではないか、と思っておりました。
ログ監視において
「メンテナンス前にイベントが発生した障害であっても、メンテナンス明けに障害状態が続いていたら再度イベントが発生する」
というのはZABBIXの仕様でしょうか?
どなたかアドバイスいただけますと幸いです。
TNK - 投稿数: 4769
2.2.11の環境がなかったので、2.2.13の環境で同様のログ監視の設
定を行い。
障害を発生させてトリガーの状態を障害にした後で、ホストをメン
テナンス状態にしてみましたが、メンテナンスタイプとして、
・データ収集あり
・データ収集なし
の両方のパターンで試してみましたものの、メンテナンス期間が終
了した時点でアクションが実行されることはありませんでした。
ですので、
仕様ではありません。
バグの可能性も考えられますので、2.2.13へバージョンアップして
も同様の問題が発生するか試されてみてはいかがでしょうか?
y-horikoshi - 投稿数: 2
検証いただき、どうもありがとうございます。
2.2.13へバージョンアップする方向で検討しようと思います。