11. Maintenance

Overview

You can define maintenance periods for host groups, hosts and specific triggers/services in Zabbix.

There are two maintenance types - with data collection and with no data collection.

During a maintenance "with data collection" triggers are processed as usual and events are created when required. However, problem escalations are paused for hosts/triggers in maintenance, if the Pause operations for suppressed problems option is checked in action configuration. In this case, escalation steps that may include sending notifications or remote commands will be ignored for as long as the maintenance period lasts.

For example, if escalation steps are scheduled at 0, 30 and 60 minutes after a problem start, and there is a half-hour long maintenance lasting from 10 minutes to 40 minutes after a real problem arises, steps two and three will be executed a half-hour later, or at 60 minutes and 90 minutes (providing the problem still exists). Similarly, if a problem arises during the maintenance, the escalation will start after the maintenance.

To receive problem notifications during the maintenance normally (without delay), you have to uncheck the Pause operations for suppressed problems option in action configuration.

If at least one host (used in the trigger expression) is not in maintenance mode, Zabbix will send a problem notification.

Zabbix server must be running during maintenance. Timer processes are responsible for switching host status to/from maintenance at 0 seconds of every minute. Note that when a host enters maintenance, Zabbix server timer processes will read all open problems to check if it is required to suppress those. This may have a performance impact if there are many open problems. Zabbix server will also read all open problems upon startup, even if there are no maintenances configured at the time.

A proxy will always collect data regardless of the maintenance type (including "no data" maintenance). The data is later ignored by the server if 'no data collection' is set.

When "no data" maintenance ends, triggers using nodata() function will not fire before the next check during the period they are checking.

If a log item is added while a host is in maintenance and the maintenance ends, only new logfile entries since the end of the maintenance will be gathered.

If a timestamped value is sent for a host that is in a “no data” maintenance type (e.g. using Zabbix sender) then this value will be dropped however it is possible to send a timestamped value in for an expired maintenance period and it will be accepted.

To ensure predictable behaviour of recurring maintenance periods (daily, weekly, monthly), it is required to use a common timezone for all parts of Zabbix.

If maintenance period, hosts, groups or tags are changed by user, the changes will only take effect after configuration cache synchronization.

Configuration

To configure a maintenance period:

  • Go to: Configuration → Maintenance
  • Click on Create maintenance period (or on the name of an existing maintenance period)

The Maintenance tab contains general maintenance period attributes:

All mandatory input fields are marked with a red asterisk.

Parameter Description
Name Name of the maintenance period.
Maintenance type Two types of maintenance can be set:
With data collection - data will be collected by the server during maintenance, triggers will be processed
No data collection - data will not be collected by the server during maintenance
Active since The date and time when executing maintenance periods becomes active.
Note: Setting this time alone does not activate a maintenance period; for that go to the Periods tab.
Active till The date and time when executing maintenance periods stops being active.
Description Description of maintenance period.

The Periods tab allows you to define the exact days and hours when the maintenance takes place. Clicking on New opens a flexible Maintenance period form where you can define the times - for daily, weekly, monthly or one-time maintenance.

Daily and weekly periods have an Every day/Every week parameter, which defaults to 1. Setting it to 2 would make the maintenance take place every two days or every two weeks and so on. The starting day or week is the day or week that Active since time falls on.

For example, having Active since set to 2013-09-06 12:00 and an hour long daily recurrent period every two days at 23:00 will result in the first maintenance period starting on 2013-09-06 at 23:00, while the second maintenance period will start on 2013-09-08 at 23:00. Or, with the same Active since time and an hour long daily recurrent period every two days at 01:00, the first maintenance period will start on 2013-09-08 at 01:00, and the second maintenance period on 2013-09-10 at 01:00.

The Hosts and groups tab allows you to select the host groups, hosts and problem tags for maintenance.

Parameter Description
Host groups Select host groups that the maintenance will be activated for. The maintenance will be activated for all hosts from the specified host group(s). This field is auto-complete, so starting to type in it will display a dropdown of all available host groups.
Specifying a parent host group implicitly selects all nested host groups. Thus the maintenance will also be activated on hosts from nested groups.
Hosts Select hosts that the maintenance will be activated for. This field is auto-complete, so starting to type in it will display a dropdown of all available hosts.
Tags If tags are specified, maintenance for the selected hosts will be limited to the problems with the corresponding tags.
In case of multiple tags, they are calculated as follows:
And/Or - all tags must correspond; however tags with the same tag name are calculated by the Or condition
Or - enough if one tag corresponds
There are two ways of matching the tag value:
Contains - case-sensitive substring match (tag value contains the entered string)
Equals - case-sensitive string match (tag value equals the entered string)

Display

Displaying hosts in maintenance

An orange wrench icon next to the host name indicates that this host is in maintenance in the Monitoring → Dashboard, Monitoring → Problems and Inventory → Hosts → Host inventory details sections.

Maintenance details are displayed when the mouse pointer is positioned over the icon.

Additionally, hosts in maintenance get an orange background in Monitoring → Maps and in Configuration → Hosts their status is displayed as 'In maintenance'.

Displaying suppressed problems

Normally problems for hosts in maintenance are suppressed, i.e. not displayed in the frontend. However, it is also possible to configure that suppressed problems are shown, by selecting the Show suppressed problems option in these locations:

  • MonitoringDashboard (in Problem hosts, Problems, Problems by severity, Trigger overview widget configuration)
  • MonitoringProblems (in the filter)
  • MonitoringOverview (in the filter; with 'Triggers' as Type)
  • MonitoringMaps (in map configuration)
  • Global notifications (in user profile configuration)

When suppressed problems are displayed, the following icon is displayed: . Rolling a mouse over the icon displays more details: