zabbix_maintenance – Create Zabbix maintenance windows

Synopsis

  • This module will let you create Zabbix maintenance windows.

Requirements

The below requirements are needed on the host that executes this module.

  • python >= 2.6

  • zabbix-api

Parameters

Parameter Choices/Defaults Comments
collect_data
boolean
    Choices:
  • no
  • yes ←
Type of maintenance. With data collection, or without.
desc
- / required
Default:
"Created by Ansible"
Short description of maintenance window.
host_groups
-
Host groups to manage maintenance window for. Separate multiple groups with commas. host_group is an alias for host_groups. Required option when state is present and no host_names specified.

aliases: host_group
host_names
-
Hosts to manage maintenance window for. Separate multiple hosts with commas. host_name is an alias for host_names. Required option when state is present and no host_groups specified.

aliases: host_name
http_login_password
string
added in 2.1
Basic Auth password
http_login_user
string / required
added in 2.1
Basic Auth login
login_password
string / required
Zabbix user password.
login_user
string / required
Zabbix user name.
minutes
-
Default:
10
Length of maintenance window in minutes.
name
- / required
Unique name of maintenance window.
server_url
string / required
URL of Zabbix server, with protocol (http or https). url is an alias for server_url.

aliases: url
state
-
    Choices:
  • present ←
  • absent
Create or remove a maintenance window. Maintenance window to remove is identified by name.
timeout
integer
Default:
10
The timeout of API request (seconds).
validate_certs
boolean
added in 2.5
    Choices:
  • no
  • yes ←
If set to False, SSL certificates will not be validated. This should only be used on personally controlled sites using self-signed certificates.

Notes

Note

  • Useful for setting hosts in maintenance mode before big update, and removing maintenance window after update.

  • Module creates maintenance window from now() to now() + minutes, so if Zabbix server’s time and host’s time are not synchronized, you will get strange results.

  • Install required module with ‘pip install zabbix-api’ command.

Examples

- name: Create a named maintenance window for host www1 for 90 minutes
  zabbix_maintenance:
    name: Update of www1
    host_name: www1.example.com
    state: present
    minutes: 90
    server_url: https://monitoring.example.com
    login_user: ansible
    login_password: pAsSwOrD

- name: Create a named maintenance window for host www1 and host groups Office and Dev
  zabbix_maintenance:
    name: Update of www1
    host_name: www1.example.com
    host_groups:
      - Office
      - Dev
    state: present
    server_url: https://monitoring.example.com
    login_user: ansible
    login_password: pAsSwOrD

- name: Create a named maintenance window for hosts www1 and db1, without data collection.
  zabbix_maintenance:
    name: update
    host_names:
      - www1.example.com
      - db1.example.com
    state: present
    collect_data: False
    server_url: https://monitoring.example.com
    login_user: ansible
    login_password: pAsSwOrD

- name: Remove maintenance window by name
  zabbix_maintenance:
    name: Test1
    state: absent
    server_url: https://monitoring.example.com
    login_user: ansible
    login_password: pAsSwOrD

Status

Authors

  • Alexander Bulimov (@abulimov)

Hint

If you notice any issues in this documentation you can edit this document to improve it.