メンテナンスについて

Zabbix1.8.3 を使用しています。
トリガーが障害の状態から
メンテナンス設定を行ってもアクションが止まらないのですが、
一度ホストなどを停止しないと
トリガーの状態が継続されてしまうのでしょうか?

ご存じでしたらご教示ください。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

どのようなメンテナンスの設定を行ったのかお教え下さい。

あと、アクションの条件にメンテナンスの条件は追加されてますか?
追加されていないのであれば、「アクションのコンディション」に

 メンテナンスの状態 期間外 "メンテナンス"

をandで追加してみてください。

ユーザー akami の写真

メンテナンス設定は

-------------------
メンテナンスタイプ:データ収集なし
期間のタイプ:一度限り
日付・時間:その日の該当時間(例 開始時刻 17:06 on 2010 9月 27 期間 7m)
-------------------

アクションの条件は

-------------------
メンテナンスの状態 期間外 "メンテナンス"
トリガーの値 = "障害"
トリガーの深刻度 = "致命的な障害"
-------------------

で設定しています。

ユーザー TNK の写真

メンテナンスの期間が7分と短い期間を設定されているようですが、あえてこのような短い期間を設定されているのですか?

このような短い期間ですと、メンテナンス期間であることが反映されて、次のアイテムのチェックを行っているうちにメンテナンス期間が終わってしまうような状況が発生してしまう可能性が考えられます。

ちなみにトリガーに設定しているアイテムのチェック間隔はどの程度の時間を設定されてますでしょうか?

このような短い期間に設定して、どのようなことを実現されたいのかもう少し詳細にお教え下さい。

ユーザー akami の写真

メンテナンス時間が短いことには特に意味はありません。
テストで挙動を見ていたので、短い時間に設定していました。
当初は一時間ほどに設定していましたが同じ挙動でした。
例としては不適切で申し訳ありません。
ダッシュボード上およびホストの一覧上では
メンテナンス中になっている状態での挙動です。

また、アクションが止まらないと書きましたが、
正確にはアクションにエスカレーションを設定し、
そのエスカレーションが止まらないというのが正しい表現かもしれません。
エスカレーションの内容は継続中は一定時間おきにメールを送信するというものです。

障害状態→障害メール発報
→メンテナンス適用→障害メール継続→メンテナンス時間終了→障害メール継続
→正常な状態に戻す→リカバリメッセージ

以上のことをテストで検証していました。
情報を正確に記述せず申し訳ありませんでした。

ユーザー kodai の写真

エスカレーションを利用している場合、いちどトリガーが障害の状態になりイベントが生成され、アクション実行が行われると、以降のエスカレーションステップでは「アクションのコンディション」の評価は行われません。

ソースを見たところ、各エスカレーションステップ実行の際にホストやアイテム、トリガーが無効になっている場合はエスカレーションを停止しますが、メンテナンス期間の状態は見ていませんでした。

現状、エスカレーションが停止する条件としては以下のものがあるようです。

- トリガーが正常の状態になる (復旧通知 -> エスカレーション停止)
- ホスト、アイテム、トリガーのいずれかを無効の状態にする
- アクションのオペレーションで「コンディション」に「障害対応済 = コメントあり」の条件を追加しておき、障害対応コメントを記入する

ソースを簡単に確認しただけなので、もしかすると間違っているかもしれませんが。

## 追記 ##

すいません、エスカレーションの各ステップでもコンディションを評価しているようでした。となると、アクション実行のどこかでバグがあるのかもしれません。

再現できるか試してみます。

ユーザー kodai の写真

遅くなりましたが、現象を再現させてデバッグログを追いかけてみました。

1.8.3では、やはりいちど障害として検知されてエスカレーションのステップが開始されてしまうと、以降はアクションのオペレーション設定は評価されていないようです。

メンテナンス期間内かどうかは障害検知時しか評価しないため、エスカレーションを設定している場合、障害が発生してからメンテナンス期間を設定してもエスカレーションは止まりません。

この動きが正しいのかどうかはもう少しソースを追いかけてみないと分からないのですが、動作から確認した限りではいちどステップが開始されたエスカレーションが停止するのは以下の2つの条件しかないように見えます。

- トリガーが「正常」の状態に戻る
- エスカレーションのステップが終了する

その他としては、アクションのオペレーション内の「コンディション」設定で「障害対応済み = コメントなし」を設定しておいて、イベントに障害対応コメントをつけるとアクションが実行されないようになります。