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

必須入力フィールドには赤いアスタリスクが付いています。
| Parameter | Description |
|---|---|
| Name | メンテナンス期間の名前。 |
| Maintenance type | メンテナンスには次の2種類があります: With data collection - メンテナンス中もサーバーによってデータが収集され、トリガーが処理されます; No data collection - データは引き続き収集される場合がありますが、メンテナンス中はデータベースに保存されず、トリガー( nodata() 関数を含む)は発生しません。各種類が可用性レポートに与える影響については、メンテナンス期間の影響 を参照してください。 |
| Active since | メンテナンス期間の実行が有効になる日時。 注: この時刻を設定するだけではメンテナンス期間は有効になりません。メンテナンス期間は Periods で設定する必要があります(下記参照)。 |
| Active till | メンテナンス期間の実行が無効になる日時。 |
| Periods | このブロックでは、メンテナンスが実施される正確な日付と時刻を定義できます。 をクリックすると、柔軟な Maintenance period フォームを含むポップアップウィンドウが開き、メンテナンススケジュールを定義できます。詳細は メンテナンス期間 を参照してください。 |
| Host groups | メンテナンスを有効にするホストグループを選択します。メンテナンスは、指定したホストグループ内のすべてのホストに対して有効になります。このフィールドはオートコンプリート対応のため、入力を始めると利用可能なホストグループのドロップダウンが表示されます。 親ホストグループを指定すると、ネストされたホストグループも暗黙的に選択されます。そのため、メンテナンスはネストされたグループ内のホストにも有効になります。 |
| Hosts | メンテナンスを有効にするホストを選択します。このフィールドはオートコンプリート対応のため、入力を始めると利用可能なホストのドロップダウンが表示されます。 |
| Tags | メンテナンス中のホスト上で一致するタグを持つ 障害を抑制 するためのタグを指定します。 複数の条件を設定できます。タグ名の一致では常に大文字と小文字が区別されます。 各条件で使用できる演算子は2つあります: Contains - 入力した文字列をタグ値に含む指定タグ名を含めます(部分一致、大文字と小文字を区別); Equals - 指定したタグ名と値を含めます(大文字と小文字を区別)。 条件の計算タイプは2つあります: And/Or - すべての条件を満たす必要があります。同じタグ名を持つ条件は Or 条件でグループ化されます; Or - いずれか1つの条件を満たせば十分です。 タグは、With data collection のメンテナンスタイプが選択されている場合にのみ指定できます。 |
| Description | メンテナンス期間の説明。 |
メンテナンス期間
メンテナンス期間ウィンドウは、定期または1回限りのメンテナンスの時間をスケジュールするためのものです。
このフォームは動的で、選択した Period type に応じて利用可能なフィールドが変化します。

| Period type | 説明 |
|---|---|
| One time only | 1回限りのメンテナンス期間を設定します: Date - メンテナンス期間の日時; Maintenance period length - メンテナンスを有効にする期間。 |
| Daily | 毎日のメンテナンス期間を設定します: Every day(s) - メンテナンスの頻度(1 - (デフォルト) 毎日、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 - (デフォルト) 毎週、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月曜日)にのみ実施する場合はこのオプションを選択し、次にドロップダウンで必要な週(第1、第2、第3、第4、または最終)を選択してから、メンテナンスを実施する曜日のチェックボックスをオンにします; At (hour:minute) - メンテナンスを開始する時刻; Maintenance period length - メンテナンスを有効にする期間。 |
メンテナンス期間を作成する際は、それを作成したユーザーのタイムゾーンが使用されます。 ただし、定期的なメンテナンス期間(毎日、毎週、毎月)をスケジュールする場合は、Zabbixサーバーのタイムゾーンが使用されます。 定期的なメンテナンス期間の動作を予測可能にするため、Zabbixのすべての部分で共通のタイムゾーンを使用する必要があります。
完了したら、追加を押して、メンテナンス期間を期間ブロックに追加します。
夏時間(DST)の変更は、メンテナンスの時間には影響しません。
例えば、通常午前1時に開始し、午前3時に終了する2時間のメンテナンスを設定しているとします。
- メンテナンス開始から1時間後(午前2時)にDSTの変更が発生し、現在時刻が午前2時から午前3時に変更された場合、メンテナンスはさらに1時間(午前4時まで)継続されます。
- メンテナンス開始から2時間後(午前3時)にDSTの変更が発生し、現在時刻が午前3時から午前2時に変更された場合、2時間経過したためメンテナンスは停止します。
- メンテナンス期間が、DSTの変更によってスキップされた時間に開始された場合、メンテナンスは開始されません。
メンテナンス期間が"日"に設定されている場合(Zabbixは日数を時間単位で計算するため、実際のメンテナンス期間は24時間です)、メンテナンスは00:00に開始され、翌日の00:00に終了します。
- 現在時刻が1時間進むと、メンテナンスは翌日の1:00に停止します。
- 現在時刻が1時間戻ると、メンテナンスは当日の23:00に停止します。
表示
メンテナンス中のホストの表示
ホスト名の横にあるオレンジ色のレンチアイコン
は、このホストが以下でメンテナンス中であることを示します。
- ダッシュボード
- 監視 > 障害
- インベントリ > ホスト > ホストインベントリの詳細
- データ収集 > ホスト(「ステータス」列を参照)
![]()
マウスポインターをアイコンの上に置くと、メンテナンスの詳細が表示されます。
さらに、メンテナンス中のホストは 監視 > マップ でオレンジ色の背景で表示されます。
抑制された障害の表示
通常、メンテナンス中のホストの障害は抑制され、つまり Webインターフェースには表示されません。
ただし、次の場所で 抑制された障害を表示 オプションを選択することで、抑制された障害を表示するように設定することもできます。
- ダッシュボード(障害ホスト、障害、深刻度別の障害、トリガー概要 ウィジェットの設定内)
- 監視 > 障害(フィルター内)
- 監視 > マップ(マップ設定内)
- グローバル 通知(ユーザープロファイル設定内)
抑制された障害が表示される場合、次のアイコンが表示されます:
。
アイコンにマウスを重ねると、詳細が表示されます。

メンテナンス中のキューの計算
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 プロキシ上の内部チェックで、異なるキュー長が報告される場合があります。
をクリックすると、柔軟な Maintenance period フォームを含むポップアップウィンドウが開き、メンテナンススケジュールを定義できます。詳細は