Documentation

zabbix_maintenance - Create Zabbix maintenance windows

New in version 1.8.

Synopsis

This module will let you create Zabbix maintenance windows.

Requirements (on host that executes module)

  • python >= 2.6
  • zabbix-api

Options

parameter required default choices comments
collect_data
no true
    Type of maintenance. With data collection, or without.
    desc
    yes Created by Ansible
      Short description of maintenance window.
      host_groups
      no
        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
        no
          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)
          no None
            Basic Auth password
            http_login_user
            (added in 2.1)
            no None
              Basic Auth login
              login_password
              yes
                Zabbix user password.
                login_user
                yes
                  Zabbix user name.
                  minutes
                  no 10
                    Length of maintenance window in minutes.
                    name
                    yes
                      Unique name of maintenance window.
                      server_url
                      yes
                        Url of Zabbix server, with protocol (http or https). url is an alias for server_url.

                        aliases: url
                        state
                        no present
                        • present
                        • absent
                        Create or remove a maintenance window.
                        timeout
                        (added in 2.1)
                        no 10
                          The timeout of API request (seconds).

                          Examples

                          # Create maintenance window named "Update of www1"
                          # for host www1.example.com 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
                          
                          # Create maintenance window named "Mass update"
                          # for host www1.example.com 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
                          
                          # Create maintenance window named "update"
                          # for hosts www1.example.com and db1.example.com and 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
                          
                          # Remove maintenance window named "Test1"
                          - zabbix_maintenance: name=Test1
                                                state=absent
                                                server_url=https://monitoring.example.com
                                                login_user=ansible
                                                login_password=pAsSwOrD
                          

                          Notes

                          Note

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

                          Note

                          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.

                          Note

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

                          Note

                          Checks existance only by maintenance name.

                          This is an Extras Module

                          For more information on what this means please read Extras Modules

                          For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Helping Testing PRs and Developing Modules.