メンテナンス期間中にメール通知される
メンテナンス期間中のメール通知について調べてみてもわからなかったため質問いたします。
Zabbixバージョン : 2.4.2
トリガー、アクション、メンテナンスの設定は以下となります。
■トリガー
({Template Batch:log["/home/XXXX/XXXX/log/XXXX.log","@messages"].iregexp(@messages)}=1)
※ログ監視で特定の文字列が含まれていれば検知
■アクション
(実行条件)
メンテナンスの状態 期間外 メンテナンス
トリガーの値 = 障害
トリガーの深刻度 >= 警告
※リカバリメッセージは有効に設定
■メンテナンス
データ収集あり
開始日時 2015-08-19 03:30 終了日時 2015-08-19 04:30
期間 一度限り 2015/08/19 03:30 1h
上記の状態で、メンテナンス期間中にログ監視のリカバリメッセージが通知されました。
メッセージはリカバリメッセージのフォーマットですが、
{TRIGGER.STATUS}は「PROBLEM」、{TRIGGER.VALUE}は「1」となっています。
下記質問です。
①実際のログには検知対象の文字列が含まれており、トリガー値も1で障害となるはずなのに
なぜリカバリメッセージが送られるのでしょうか?
②メンテナンス期間中にリカバリメッセージは送られるものなのでしょうか?
よろしくお願いいたします。
TNK - 投稿数: 4769
アクションの実行条件にメンテナンス期間中を除くように設定され
ているようですので、障害発生の通知は行われないはずです。
データ収集ありにしているようですので、メンテナンス期間が始ま
る前に障害として検知されていて、その後、メンテナンス期間中で
もトリガーの条件として復旧したと判断されれば、リカバリのメッ
セージは送られます。
しかし、今回の場合は、リカバリメッセージでも{TRIGGER.STATUS}
が「PROBLEM」とのことですので、恐らく、
1.メンテナンス期間前に障害が発生してトリガーが検知でアクションが
実行された
2.メンテナンス期間に入ってから取得した値でトリガーが回復したので
リカバリメッセージを送るイベントが発生した
3.リカバリメッセージを送信する処理の直前に、またトリガーの状態が
変化してまた障害となった
4.リカバリメッセージの送信処理が行われて、最新のトリガーの値は
障害の状態なので「PROBLEM」となった
という処理が行われていたのだと思われます。
そして、メンテナンス期間内に障害が発生した件に関しては、アク
ションの設定で実行しないように設定されているので、障害発生の
アクションが実行されなかったのでしょう。
タイプトライドロン - 投稿数: 2
TNK様
ご回答ありがとうございます。
>メンテナンス期間が始まる前に障害として検知されていて、
>その後、メンテナンス期間中でもトリガーの条件として復旧したと判断されれば、
>リカバリのメッセージは送られます。
メンテナンス設定期間前に障害検知~メンテナンス中にリカバリメールが送られるまでの
監視対象のログの状況と通知状況ですが、下記のようになっています。
■ログ状況
2015/08/16 22:01:31 障害検知対象のログ内容 ⇒障害メールが送られる
・・・
以降 検知対象外のログ内容多数出続ける(1分間に数十件) ⇒リカバリメールは送らていない
・・・
2015/08/19 03:47:17 障害検知対象のログ内容 ⇒リカバリメールとして送られる
2015/08/19 03:47:20 障害検知対象のログ内容 ⇒想定通り監視無視される
メンテナンス期間外ではトリガー条件から外れてもリカバリメールは送られておりません。
また、メンテナンス期間中にトリガー条件から外れたらリカバリメールが送られるとすると
1分間に数十件の正常ログが出力されているので、
メンテナンス期間に入った3:30にはリカバリメールが送られるかと思うのですが、
実際に送られたのは、トリガー条件に一致したログが出た3:47でした。
①メンテナンス期間外はリカバリメールが送られないトリガーも、メンテナンス期間中はリカバリメールが送られるのでしょうか?
②①の通りだとしたら、メンテナンス期間に入った3:30のログではなぜリカバリメールは送られないのでしょうか?
再度の質問で申し訳ございませんがよろしくお願いいたします。
TNK - 投稿数: 4769
設定したメンテナンス期間の前に障害の状態であってアクションが
実行されたトリガーの状態が、メンテナンス期間内に復旧したらリ
カバリに関してはアクションが実行されます。
メンテナンス期間の前は正常で、メンテナンス期間に入ってから障
害、復旧となっても、アクションでメンテナンス期間内には送らな
いと設定されているので、障害の通知は行われませんし、障害の通
知が行わなかったのであれば、それが復旧してもその障害に対する
リカバリの通知は行われません。
設定されているトリガーからして、障害と検知するもののみフィル
タリングしてデータを取得されているのですから、他の正常なログ
が出力されても、アイテムの値としては取得されないので、通常、
ログを取得し続けている間は、リカバリの条件に合致することはな
いでしょう。
恐らく、一度log[]の値が取得不可になって、再度取得できる状態
になるなどして、トリガーの状態が変化したのでしょう。
正常ログが出力されたらリカバリとされたいのであれば、そのよう
にアイテムやトリガーを設定してください。