Zabbix では、ホストやホストグループに対してメンテナンス期間を定義できます。
さらに、トリガータグを指定することで、単一のトリガー(またはトリガーのサブセット)に対してのみメンテナンスを定義することも可能です。 この場合、メンテナンスはそれらのトリガーにのみ有効となり、ホストやホストグループの他のすべてのトリガーはメンテナンス対象外となります。
メンテナンスタイプには、「データ収集あり」と「データ収集なし」の2種類があります。
「データ収集あり」メンテナンス中は、トリガーは通常通り処理され、必要に応じてイベントが作成されます。 ただし、アクション設定で 抑制された障害の処理を一時停止 オプションがチェックされている場合、メンテナンス中のホスト/トリガーに対する障害のエスカレーションは一時停止されます。 この場合、通知の送信やリモートコマンドの実行を含む可能性のあるエスカレーションステップは、メンテナンス期間が続く限り無視されます。 なお、メンテナンス中に抑制されるのはエスカレーションのみであり、障害の復旧や更新の処理は抑制されません。
例えば、障害発生後0分、30分、60分にエスカレーションステップがスケジュールされていて、実際の障害発生から10分後から40分後までの30分間メンテナンスが行われる場合、2番目と3番目のステップは30分遅れて、60分後と90分後に実行されます(障害がまだ存在する場合)。 同様に、メンテナンス中に障害が発生した場合、エスカレーションはメンテナンス終了後に開始されます。
メンテナンス中も通常通り(遅延なく)障害通知を受け取りたい場合は、アクション設定で 抑制された障害の処理を一時停止 オプションのチェックを外してください。
トリガー式で使用されているホストのうち、少なくとも1つがメンテナンスモードでない場合、Zabbix は障害通知を送信します。
メンテナンス中は Zabbix サーバーが稼働している必要があります。 メンテナンスは毎分、またはメンテナンス期間に変更があった場合は設定キャッシュがリロードされるとすぐに再計算されます。
タイマープロセスは、毎分0秒にホストのステータスをメンテナンスに変更する必要があるかどうかをチェックします。 さらに、設定更新後にメンテナンス期間に変更があったかどうかに基づいて、毎秒タイマープロセスがメンテナンスの開始/終了をチェックします。 したがって、メンテナンス期間の開始/終了の速度は、設定の更新間隔(デフォルトは10秒)に依存します。 なお、メンテナンス期間の変更には 有効期間/有効終了 の設定は含まれません。 また、既存のアクティブなメンテナンス期間にホスト/ホストグループが追加された場合、変更は次の分の開始時にタイマープロセスによって有効化されます。
ホストがメンテナンスに入ると、Zabbix サーバーのタイマープロセスはすべての未解決の障害を読み取り、それらを抑制する必要があるかどうかをチェックします。 未解決の障害が多数ある場合、パフォーマンスに影響を与える可能性があります。 また、Zabbix サーバーは起動時にもすべての未解決の障害を読み取ります(その時点でメンテナンスが設定されていなくても)。
Zabbix サーバー(またはプロキシ)は、メンテナンスタイプに関係なく(「データ収集なし」メンテナンスを含む)常にデータを収集します。 「データ収集なし」が設定されている場合、そのデータはサーバーによって後で無視されます。
「データ収集なし」メンテナンスが終了すると、nodata() 関数を使用するトリガーは、監視期間中の次のチェックまで発火しません。
ホストがメンテナンス中にログアイテムが追加され、メンテナンスが終了した場合、メンテナンス終了以降の新しいログファイルエントリのみが収集されます。
「データ収集なし」メンテナンスタイプのホストにタイムスタンプ付きの値が送信された場合(例:Zabbix senderを使用)、この値は破棄されますが、期限切れのメンテナンス期間にタイムスタンプ付きの値を送信することは可能であり、その場合は受け入れられます。
ユーザーがメンテナンス期間、ホスト、グループ、タグを変更した場合、変更は設定キャッシュの同期後にのみ有効になります。
メンテナンス期間を設定するには:

すべての必須入力フィールドには赤いアスタリスクが付いています。
| パラメータ | 説明 |
|---|---|
| 名前 | メンテナンス期間の名前。 |
| メンテナンスタイプ | 2種類のメンテナンスを設定できます: データ収集あり - メンテナンス中もサーバーがデータを収集し、トリガーを処理します; データ収集なし - メンテナンス中はサーバーがデータを収集しません。 各タイプが可用性レポートにどのように影響するかは、メンテナンス期間の効果を参照してください。 |
| 有効期間(開始) | メンテナンス期間の実行が有効になる日時。 注: この時間を設定するだけではメンテナンス期間は有効になりません。期間 (下記参照)でメンテナンス期間を設定する必要があります。 |
| 有効期間(終了) | メンテナンス期間の実行が無効になる日時。 |
| 期間 | このブロックでは、メンテナンスが行われる正確な日付と時間を定義できます。 をクリックすると、柔軟なメンテナンス期間フォームを持つポップアップウィンドウが開き、メンテナンススケジュールを定義できます。詳細はメンテナンス期間を参照してください。 |
| ホストグループ | メンテナンスを有効にするホストグループを選択します。指定したホストグループのすべてのホストに対してメンテナンスが有効になります。このフィールドはオートコンプリート対応なので、入力を始めると利用可能なホストグループのドロップダウンが表示されます。 親ホストグループを指定すると、すべてのネストされたホストグループも暗黙的に選択されます。したがって、ネストされたグループのホストにもメンテナンスが有効になります。 |
| ホスト | メンテナンスを有効にするホストを選択します。このフィールドはオートコンプリート対応なので、入力を始めると利用可能なホストのドロップダウンが表示されます。 |
| タグ | メンテナンス中のホストで一致するタグを持つ問題を抑制するためのタグを指定します。 複数の条件を設定できます。タグ名の一致は常に大文字と小文字を区別します。 各条件には2つの演算子があります: 含む - 指定したタグ名のうち、タグ値が入力した文字列を含むものを含めます(部分一致、大文字小文字区別); 等しい - 指定したタグ名と値を含めます(大文字小文字区別)。 条件の計算タイプは2つあります: And/Or - すべての条件を満たす必要があり、同じタグ名の条件はOr条件でグループ化されます; Or - いずれか1つの条件を満たせば十分です。 タグはデータ収集ありモードが選択されている場合のみ指定できます。 |
| 説明 | メンテナンス期間の説明。 |
メンテナンス期間ウィンドウは、定期的または一度限りのメンテナンスのスケジュールを設定するためのものです。 フォームは動的で、選択した期間タイプに応じて利用可能なフィールドが変化します。

| 期間タイプ | 説明 |
|---|---|
| 一度限り | 一度限りのメンテナンス期間を設定します: 日付 - メンテナンス期間の日付と時刻; メンテナンス期間の長さ - メンテナンスが有効である期間。 |
| 毎日 | 毎日のメンテナンス期間を設定します: 毎日 - メンテナンスの頻度(1 - (デフォルト) 毎日、2 - 2日ごと、など); 時刻(時:分) - メンテナンスが開始される時刻; メンテナンス期間の長さ - メンテナンスが有効である期間。 毎日パラメータが「1」より大きい場合、開始日は有効期間開始の時刻が属する日となります。例: - 有効期間開始が「2021-01-01 12:00」、毎日が「2」、時刻(時:分)が「23:00」の場合、最初のメンテナンス期間は1月1日23:00に開始され、2回目のメンテナンス期間は1月3日23:00に開始されます; - 有効期間開始が「2021-01-01 12:00」、毎日が「2」、時刻(時:分)が「01:00」の場合、最初のメンテナンス期間は1月3日01:00に開始され、2回目のメンテナンス期間は1月5日01:00に開始されます。 |
| 毎週 | 毎週のメンテナンス期間を設定します: 毎週 - メンテナンスの頻度(1 - (デフォルト) 毎週、2 - 2週間ごと、など); 曜日 - メンテナンスを実施する曜日; 時刻(時:分) - メンテナンスが開始される時刻; メンテナンス期間の長さ - メンテナンスが有効である期間。 毎週パラメータが「1」より大きい場合、開始週は有効期間開始の時刻が属する週となります。例については、上記の毎日パラメータの説明を参照してください。 |
| 毎月 | 毎月のメンテナンス期間を設定します: 月 - 定期メンテナンスを実施するすべての月を選択; 日付: 月の日 - 毎月同じ日にメンテナンスを実施する場合はこのオプションを選択し、表示される月の日フィールドで必要な日を選択; 日付: 曜日 - 特定の曜日にのみメンテナンスを実施する場合はこのオプションを選択し、(ドロップダウンで)月の必要な週(第1週、第2週、第3週、第4週、または最終週)を選択し、メンテナンス日をチェックボックスで指定; 時刻(時:分) - メンテナンスが開始される時刻; メンテナンス期間の長さ - メンテナンスが有効である期間。 |
メンテナンス期間を作成する際には、作成者のタイムゾーンが使用されます。 ただし、定期的なメンテナンス期間(日次、週次、月次)がスケジュールされている場合は、Zabbixサーバーのタイムゾーンが使用されます。 定期的なメンテナンス期間の予測可能な動作を保証するために、Zabbixのすべての部分で共通のタイムゾーンを使用する必要があります。
完了したら、追加を押してメンテナンス期間を期間ブロックに追加します。
サマータイム(DST)の変更は、メンテナンスの期間には影響しません。 例えば、通常01:00に開始し03:00に終了する2時間のメンテナンスが設定されているとします。
メンテナンス期間が「1日」(Zabbixは日数を時間で計算するため、実際の期間は24時間)に設定され、00:00に開始し翌日の00:00に終了する場合:
ホスト名の横にオレンジ色のレンチアイコン
が表示されている場合、そのホストは以下の画面でメンテナンス中であることを示します:
![]()
アイコンの上にマウスポインタを置くと、メンテナンスの詳細が表示されます。
さらに、監視 > マップ では、メンテナンス中のホストはオレンジ色の背景で表示されます。
通常、メンテナンス中のホストの障害は抑制され、フロントエンドには表示されません。 ただし、以下の場所で抑制された障害を表示オプションを選択することで、抑制された障害を表示するように設定することもできます。
抑制された障害が表示される場合、次のアイコンが表示されます:
。 アイコンにマウスを重ねると、詳細が表示されます。

Zabbixフロントエンド(管理 > キュー)に表示されるキューは、Zabbixサーバーによって計算されます。 これらは、データ収集のないメンテナンス中のアイテムを含みません。これらのアイテムの値が遅延している場合でも、キューの長さは常にゼロです。 データ収集を伴うメンテナンス中の遅延アイテムは、引き続きキューにカウントされます。
Zabbix プロキシは、Zabbixサーバーとプロキシ間でメンテナンス設定の同期がないため、メンテナンス期間を認識しません。 Zabbixプロキシで計算される内部チェック(たとえば、zabbix[queue,,]やzabbix[stats,,,queue,,])は、Zabbixサーバー上のメンテナンスステータスに関係なく、遅延アイテムを報告します。
その結果、ZabbixフロントエンドとZabbixプロキシの内部チェックによって、データ収集のないメンテナンス中の同じアイテムに対して異なるキューの長さが報告される場合があります。