#メンテナンス設定とは
Zabbixには監視対象システムがデプロイや再起動などの作業中である事を示すメンテナンス設定があります。
多くの監視ツールではこれらの機能は通知抑止機能やとして実装される
あるいはツール自体では実装せずにPagerDutyのような通知制御システムを介して実現する方針がとられています。
しかし、重要なことはZabbixにおけるメンテナンス設定は単なる通知抑止設定ではないという事です。
#メンテンナンス設定はフラグである
Zabbixのメンテナンス設定の基本は「メンテンナンス中」という事を示すフラグであるということです。
メンテナンスタイプで 「データ収集なし」を選んだ場合は値の取得が停止しますが、
デフォルトの「データ収集あり」の場合は挙動としてはフラグが立つだけで、収集・判定・通知まで普通に動作します。
あくまでも「メンテナンス中」というフラグが立っているだけです。
これは、Zabbixのメンテナンス機能を理解する上で重要なポイントです。
#メンテナンス設定の構造
Zabbixのメンテナンス設定は期間を指定するために2つの設定が存在します。
これは、繰り返し設定を行う場合に重要な機能となります。
「メンテナンス」と「監視対象のメンテナンス期間」の意味を理解するには以下の図をご覧ください。
期間の設定が2重構造となっていることで、1回限りではのメンテナンス設定ではなく繰り返しメンテナンスの設定に柔軟性を持たす事が可能となります。
画像内に記載している通り
①の「メンテナンス設定」には②の「監視対象のメンテンス期間」の設定を反映させる期間を設定します。
②の「監視対象のメンテンス期間」には実際のメンテナンスが予定される期間を設定します。
1回だけのメンテナンス日時の他
日次、週次、月次での繰り返し設定を設定することができます。
例えば
1つのメンテナンス設定で
①メンテナンス設定の期間に2019年1月1日から2019年12月31日と設定し
②監視対象のメンテナンス期間に
毎週日曜日の3時からのような繰り返し設定をおこない
別のメンテナンス設定で
①2020年1月1日から2020年12月31日
②監視対象のメンテナンス期間に
毎週土曜日の22時からのような繰り返し設定を行う事でメンテナンスタイミングの切り替えを行う事ができます。
#メンテナンス設定はフラグである
Zabbixのメンテナンス設定はフラグです。
このため、「データ収集あり」のメンテナンス設定であればそのまま値収集、判定が継続されます。
判定の結果障害と判断された場合にはメンテナンス中の表示付きで障害が表示されます。
概要ページでは設定によって表示が切り替わります。
- メンテナンス中の障害を非表示
- メンテナンス中の障害を表示
この設定により、メンテナンス中にZabbixが正しく判定しているかどうかを確認する事が可能となります。
#メンテナンス設定による通知の動作
Zabbixのメンテナンスはフラグなので、通知抑止を行いたい場合はこのメンテナンス中というフラグを利用します。
「メンテナンス期間中以外は動作する」
という意味で
「メンテナンス期間中=いいえ」
という条件を付与する事でメンテナンス中であれば動作しないアクションが作成できます。
つまりこれが通知抑止として機能します。
逆に
「メンテナンス期間中=はい」
という条件を付与してアクションを作成すればメンテナンス期間中のみ動作するアクションを作る事ができます。
これによって、例えば通知の投げ分けを設定することができます。
-
「メンテナンス期間中=いいえ」
の条件でアクションを作成し通知先を監視センターにする。 -
「メンテナンス期間中=はい」
という条件でアクションを作成し通知先をメンテナンス実施者にする。
このようにするとこで、メンテナンス作業を実施しているメンバーが自分自身の実施している作業が正常に進行している事を確認する事ができます。
#まとめ
Zabbixのメンテナンス設定は単なる通知抑止設定ではなく、メンテナンス中であるというフラグであるからこそ、単なる定常監視のみではなく、作業計画の正しさ確認にも利用する事が可能となります。