メンテナンス期間

概要

メンテナンスは、あらかじめ定義された期間中に障害を抑制するために使用されます。

Zabbix では、ホストおよびホストグループに対してメンテナンス期間を定義できます。

さらに、トリガータグを指定することで、単一のトリガー(またはトリガーの一部)に対してのみメンテナンスを定義することも可能です。
この場合、メンテナンスはそのトリガーに対してのみ有効になり、ホストまたはホストグループの他のトリガーはメンテナンス対象になりません。

メンテナンスには、データ収集ありデータ収集なし の 2 種類があります。

データ収集あり のメンテナンス中は、トリガーは通常どおり処理され、必要に応じてイベントが作成されます。
ただし、アクション設定抑制された障害に対するオペレーションを一時停止 オプションがチェックされている場合、メンテナンス中のホスト/トリガーに対する障害のエスカレーションは一時停止されます。
この場合、通知の送信やリモートコマンドの実行を含む可能性のあるエスカレーションステップは、メンテナンス期間が続く限り無視されます。
なお、障害の復旧および更新オペレーションはメンテナンス中でも抑制されず、エスカレーションのみが抑制されます。
障害がメンテナンス中に発生した場合、復旧通知は送信されません。

たとえば、障害発生後 0 分、30 分、60 分にエスカレーションステップが予定されており、実際の障害発生から 10 分後から 40 分後までの 30 分間メンテナンスがある場合、2 番目と 3 番目のステップは 30 分遅れて、つまり 60 分後と 90 分後に実行されます(障害がまだ存在している場合)。
同様に、障害がメンテナンス中に発生した場合、エスカレーションはメンテナンス終了後に開始されます。

メンテナンス中に通常どおり(遅延なしで)障害通知を受け取るには、アクション設定で 抑制された障害に対するオペレーションを一時停止 オプションのチェックを外してください。

トリガー式で使用されているホストの少なくとも 1 つがメンテナンスモードでない場合、Zabbix は障害通知を送信します。

メンテナンス中も Zabbix サーバーは稼働している必要があります。
メンテナンスは、メンテナンス期間に変更があった場合、1 分ごと、または設定キャッシュが再読み込みされた時点で再計算されます。

タイマープロセスは、毎分 0 秒にホストのステータスをメンテナンスへの/からの変更が必要かどうか確認します。
さらに、設定更新後に [メンテナンス期間] に変更があるかどうかに基づいて、タイマープロセスは毎秒、開始/停止すべきメンテナンスがあるかを確認します。
したがって、メンテナンス期間の開始/停止速度は、設定の 更新間隔 に依存します(デフォルトは 10 秒です)。
なお、メンテナンス期間の変更には 開始日時/終了日時 の設定は含まれません。
また、既存の有効なメンテナンス期間にホスト/ホストグループが追加された場合、その変更は次の分の開始時にタイマープロセスによってのみ有効になります。

ホストがメンテナンスに入ると、Zabbix サーバーのタイマープロセスは、抑制が必要かどうかを確認するために、すべてのオープンな障害を読み取ります。
オープンな障害が多い場合、これはパフォーマンスに影響を与える可能性があります。
Zabbix サーバーは、起動時にも、たとえその時点でメンテナンスが設定されていなくても、すべてのオープンな障害を読み取ります。

Zabbix サーバー(またはプロキシ)は、メンテナンスの種類に関係なく、常にデータを収集することに注意してください(データ収集なし のメンテナンスを含む)。
その後、データ収集なし が設定されている場合、そのデータはサーバーによって無視されます。

データ収集なし のメンテナンスが終了したとき、nodata() 関数を使用するトリガーは、その期間中にチェックしている次回のチェックまで発火しません。

ホストがメンテナンス中にログアイテムが追加され、メンテナンスが終了した場合、メンテナンス終了後の新しいログファイルエントリのみが収集されます。

データ収集なし のメンテナンス中のホストにタイムスタンプ付きの値が送信された場合(たとえば Zabbix sender を使用)、その値は破棄されます。
ただし、期限切れのメンテナンス期間に対してタイムスタンプ付きの値を送信することは可能であり、その場合は受け入れられます。

ユーザーによってメンテナンス期間、ホスト、グループ、またはタグが変更された場合、それらの変更は設定キャッシュの同期後にのみ反映されます。

設定

メンテナンス期間を設定するには:

  1. データ収集 > メンテナンス に移動します。
  2. メンテナンス期間を作成 をクリックします(または既存のメンテナンス期間の名前をクリックします)。
  3. フォームにメンテナンスパラメータを入力します。

必須入力フィールドには赤いアスタリスクが付いています。

Parameter Description
Name メンテナンス期間の名前。
Maintenance type メンテナンスには次の2種類を設定できます:
データ収集あり - メンテナンス中もサーバーによってデータが収集され、トリガーが処理されます;
データ収集なし - データは収集される場合がありますが、メンテナンス中はデータベースに保存されず、トリガー(nodata() 関数を含む)は発火しません。
各種類が可用性レポートに与える影響については、メンテナンス期間の影響 を参照してください。
Active since メンテナンス期間の実行が有効になる日時。
注: この時刻を設定しただけではメンテナンス期間は有効になりません。メンテナンス期間は Periods で設定する必要があります(以下を参照)。
Active till メンテナンス期間の実行が無効になる日時。
Periods このブロックでは、メンテナンスが行われる正確な日付と時刻を定義できます。 をクリックすると、柔軟な メンテナンス期間 フォームを含むポップアップウィンドウが開き、メンテナンススケジュールを定義できます。詳細は メンテナンス期間 を参照してください。
Host groups メンテナンスを有効にするホストグループを選択します。メンテナンスは、指定したホストグループ内のすべてのホストに対して有効になります。このフィールドはオートコンプリート対応のため、入力を始めると利用可能なホストグループのドロップダウンが表示されます。
親ホストグループを指定すると、ネストされたすべてのホストグループも暗黙的に選択されます。そのため、メンテナンスはネストされたグループ内のホストにも有効になります。
Hosts メンテナンスを有効にするホストを選択します。このフィールドはオートコンプリート対応のため、入力を始めると利用可能なホストのドロップダウンが表示されます。
Tags メンテナンス中のホストにある一致するタグに対して、障害を抑制 するタグを指定します。
複数の条件を設定できます。タグ名の一致では常に大文字と小文字が区別されます。

各条件には次の2つの演算子があります:
Contains - 入力した文字列を値に含む指定タグ名を含めます(部分一致、大文字と小文字を区別);
Equals - 指定したタグ名と値を含めます(大文字と小文字を区別)。

条件の計算タイプには次の2つがあります:
And/Or - すべての条件を満たす必要があります。同じタグ名を持つ条件は Or 条件でグループ化されます;
Or - いずれか1つの条件を満たせば十分です。

タグは、データ収集あり のメンテナンスタイプが選択されている場合にのみ指定できます。
Description メンテナンス期間の説明。
メンテナンス期間

メンテナンス期間ウィンドウは、定期メンテナンスまたは1回限りのメンテナンスの時間をスケジュールするために使用します。
フォームは動的で、選択した Period type に応じて利用可能なフィールドが変わります。

Period type Description
One time only 1回限りのメンテナンス期間を設定します:
Date - メンテナンス期間の日時;
Maintenance period length - メンテナンスを有効にする期間。
Daily 日次のメンテナンス期間を設定します:
Every day(s) - メンテナンスの頻度 (1 - (default) 毎日、2 - 2日ごと、など);
At (hour:minute) - メンテナンスを開始する時刻;
Maintenance period length - メンテナンスを有効にする期間。

Every day(s) パラメータが "1" より大きい場合、開始日は Active since の時刻が属する日になります。例:
- Active since が "2021-01-01 12:00"、Every day(s) が "2"、At (hour:minute) が "23:00" の場合、最初のメンテナンス期間は 1月1日 23:00 に開始し、2回目のメンテナンス期間は 1月3日 23:00 に開始します;
- Active since が "2021-01-01 12:00"、Every day(s) が "2"、At (hour:minute) が "01:00" の場合、最初のメンテナンス期間は 1月3日 01:00 に開始し、2回目のメンテナンス期間は 1月5日 01:00 に開始します。
Weekly 週次のメンテナンス期間を設定します:
Every week(s) - メンテナンスの頻度 (1 - (default) 毎週、2 - 2週ごと、など);
Day of week - メンテナンスを実施する曜日;
At (hour:minute) - メンテナンスを開始する時刻;
Maintenance period length - メンテナンスを有効にする期間。

Every week(s) パラメータが "1" より大きい場合、開始週は Active since の時刻が属する週になります。例については、上記の Daily の説明を参照してください。
Monthly 月次のメンテナンス期間を設定します:
Month - 定期メンテナンスを実施する月をすべて選択します;
Date: Day of month - メンテナンスを毎月同じ日付に実施する場合 (たとえば、毎月1日) はこのオプションを選択し、表示される Day of month フィールドで必要な日を選択します;
Date: Day of week - メンテナンスを特定の日にのみ実施する場合 (たとえば、毎月第1月曜日) はこのオプションを選択し、ドロップダウンで必要な月内の週 (first, second, third, fourth, or last) を選択してから、メンテナンス日をチェックボックスで選択します;
At (hour:minute) - メンテナンスを開始する時刻;
Maintenance period length - メンテナンスを有効にする期間。

メンテナンス期間を作成する際には、それを作成するユーザーの time zone が使用されます。 ただし、繰り返しメンテナンス期間(DailyWeeklyMonthly)をスケジュールする場合は、Zabbix サーバーのタイムゾーンが使用されます。 繰り返しメンテナンス期間の動作を予測可能にするには、Zabbix のすべての部分で共通のタイムゾーンを使用する必要があります。

完了したら、Add をクリックしてメンテナンス期間を Periods ブロックに追加します。

夏時間(DST)の変更は、メンテナンスの継続時間には影響しないことに注意してください。 たとえば、通常は 01:00 に開始して 03:00 に終了する 2 時間のメンテナンスが設定されているとします。

  • メンテナンス開始から 1 時間後(02:00)に DST の変更が発生し、現在時刻が 02:00 から 03:00 に変わった場合、メンテナンスはさらに 1 時間継続します(04:00 まで)。
  • メンテナンス開始から 2 時間後(03:00)に DST の変更が発生し、現在時刻が 03:00 から 02:00 に変わった場合、2 時間が経過しているため、メンテナンスは終了します。
  • メンテナンス期間が DST の変更によって飛ばされる 1 時間の間に開始される場合、メンテナンスは開始されません。

メンテナンス期間が「1 day」に設定されている場合(Zabbix は日数を時間で計算するため、実際のメンテナンス期間は 24 時間です)、00:00 に開始して翌日の 00:00 に終了するときは、次のようになります。

  • 現在時刻が 1 時間進む場合、メンテナンスは翌日の 01:00 に終了します。
  • 現在時刻が 1 時間戻る場合、メンテナンスはその日の 23:00 に終了します。

表示

メンテナンス中のホストの表示

ホスト名の横にオレンジ色のレンチアイコン が表示されている場合、そのホストは次の画面でメンテナンス中であることを示します。

  • Dashboards
  • Monitoring > 障害
  • Inventory > ホスト > ホストインベントリの詳細
  • Data collection > ホスト('Status' 列を参照)

マウスポインターをアイコン上に置くと、メンテナンスの詳細が表示されます。

さらに、メンテナンス中のホストは Monitoring > Maps でオレンジ色の背景で表示されます。

抑制された障害の表示

通常、メンテナンス中のホストの障害は抑制され、つまり Webインターフェースには表示されません。

抑制された障害は、手動で抑制されたために非表示になっている場合もあります。

次の場所で 抑制された障害を表示 オプションを選択すると、抑制された障害を表示できます。

  • ダッシュボード障害ホスト障害深刻度別の障害トリガー概要 ウィジェットの設定内)
  • 監視 > 障害(フィルター内)
  • 監視 > マップ(マップ設定内)
  • グローバル 通知(ユーザープロファイル設定内)

抑制された障害が表示されると、次のアイコンが表示されます: 。 抑制の理由がホストのメンテナンスである場合は、次のアイコンが表示されます。

  • icon_suppression_maintenance.png - ホストのメンテナンスにより障害が抑制されています。
  • icon_unsuppressed_maintenance.png - ホストのメンテナンス後に障害の抑制が解除されています。

アイコンにカーソルを合わせると、詳細が表示されます。 イベントの詳細では、そのイベントがメンテナンスによって抑制されたのか、手動で抑制されたのかを確認できます。 メンテナンスと手動抑制の両方が適用される場合、アイコンの色は手動抑制が優先されます。

メンテナンス中のキューの計算

Zabbix Webインターフェース(Administration > Queue)に表示されるキューは、Zabbix サーバーによって計算されます。
これらには No data collection のメンテナンス中のアイテムは含まれず、値が遅延している場合でも、これらのアイテムのキュー長は常に 0 です。
With data collection のメンテナンス中の遅延アイテムは、引き続きキューにカウントされます。

Zabbix プロキシ は、Zabbix サーバーとプロキシ間でメンテナンス設定の同期が行われないため、メンテナンス期間を認識しません。
Zabbix プロキシ上で計算される内部チェック(たとえば、zabbix[queue,,]zabbix[stats,,,queue,,])は、Zabbix サーバー上のメンテナンス状態に関係なく、遅延したアイテムを報告します。

その結果、No data collection のメンテナンス中の同じアイテムについて、Zabbix Webインターフェースと Zabbix プロキシ上の内部チェックで、異なるキュー長が報告される場合があります。