community.zabbix.zabbix_maintenance – Create Zabbix maintenance windows
Note
This plugin is part of the community.zabbix collection (version 1.2.0).
To install it use: ansible-galaxy collection install community.zabbix
.
To use it in a playbook, specify: community.zabbix.zabbix_maintenance
.
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 >= 0.5.4
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
collect_data boolean |
| Type of maintenance. With data collection, or without. |
desc string | Default: "Created by Ansible" | Short description of maintenance window. |
host_groups list / elements=string | Host groups to manage maintenance window for.
Required option when state=present and host_names is not used. aliases: host_group | |
host_names list / elements=string | Hosts to manage maintenance window for.
Required option when state=present and host_groups is not used. aliases: host_name | |
http_login_password string | Basic Auth password | |
http_login_user string | Basic Auth login | |
login_password string / required | Zabbix user password. | |
login_user string / required | Zabbix user name. | |
minutes integer | Default: 10 | Length of maintenance window in minutes. |
name string / 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 string |
| 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 |
| 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.
- If you use login_password=zabbix, the word “zabbix” is replaced by “****” in all module output, because login_password uses
no_log
. See this FAQ for more information.
Examples
- name: Create a named maintenance window for host www1 for 90 minutes community.zabbix.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 community.zabbix.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. community.zabbix.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 community.zabbix.zabbix_maintenance: name: Test1 state: absent server_url: https://monitoring.example.com login_user: ansible login_password: pAsSwOrD
Authors
- Alexander Bulimov (@abulimov)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/zabbix/zabbix_maintenance_module.html