zabbix_maintenance - Create Zabbix maintenance windows

New in version 1.8.

Synopsis

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
bool
    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
(added in 2.1)
Basic Auth password
http_login_user
(added in 2.1)
Basic Auth login
login_password
required
Zabbix user password.
login_user
required
Zabbix user name.
minutes Default:
10
Length of maintenance window in minutes.
name
required
Unique name of maintenance window.
server_url
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 Default:
10
The timeout of API request (seconds).
validate_certs
bool

(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

This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Maintenance

This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.

For a list of other modules that are also maintained by the Ansible Community, see here.

Author

  • Alexander Bulimov (@abulimov)

Hint

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