Модуль community.zabbix.zabbix_maintenance – Создание окон технического обслуживания Zabbix
Примечание
Этот модуль является частью коллекции community.zabbix (версия 2.5.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля требуются дополнительные компоненты, подробности см. в разделе Требования.
Для использования в playbook укажите: community.zabbix.zabbix_maintenance.
Краткое описание
- Этот модуль позволяет создавать окна технического обслуживания Zabbix.
Требования
Указанные ниже требования необходимы на хосте, который выполняет этот модуль.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
active_since строка | Время, когда техническое обслуживание становится активным. Указанное значение будет округлено вниз до минут. Использует `datetime.datetime.now(`), если не указано. По умолчанию: |
active_till строка | Время, когда техническое обслуживание прекращается. Указанное значение будет округлено вниз до минут. Вычисляется из minutes, если не указано. По умолчанию: |
collect_data булево | Тип технического обслуживания. С сбором данных или без. Варианты:
|
desc строка | Краткое описание окна технического обслуживания. По умолчанию: |
host_groups псевдонимы: host_group список / элементы=строка | Группы хостов для управления окном технического обслуживания. Обязательный параметр, когда state=present и host_names не используется. |
host_names псевдонимы: host_name список / элементы=строка | Хосты для управления окном технического обслуживания. Обязательный параметр, когда state=present и host_groups не используется. |
http_login_password строка | Пароль Basic Auth |
http_login_user строка | Логин Basic Auth |
minutes целое число | Продолжительность окна технического обслуживания в минутах. По умолчанию: |
name строка / обязательно | Уникальное имя окна технического обслуживания. |
state строка | Создать или удалить окно технического обслуживания. Окно технического обслуживания для удаления идентифицируется по имени. Варианты:
|
tags список / элементы=словарь | Список тегов для присваивания хостам в режиме технического обслуживания. Требуется collect_data=yes. |
|
operator целое число |
Оператор условия. Возможные значения: 0 - Равно 2 - Содержит По умолчанию: |
|
tag строка / обязательно |
Имя тега. |
|
value строка |
Значение тега. По умолчанию: |
visible_name булево | Тип имени хоста zabbix для использования при идентификации хостов, которые необходимо включить в техническое обслуживание. visible_name=yes для поиска по отображаемому имени, visible_name=no для поиска по техническому имени. Варианты:
|
Примечания
Примечание
- Полезно для перевода хостов в режим технического обслуживания перед крупным обновлением и удаления окна технического обслуживания после обновления.
- Модуль создает окно технического обслуживания от now() до now() + minutes, поэтому если время сервера Zabbix и время хоста не синхронизированы, вы получите странные результаты.
Примеры
# If you want to use Username and Password to be authenticated by Zabbix Server
- name: Set credentials to access Zabbix Server API
ansible.builtin.set_fact:
ansible_user: Admin
ansible_httpapi_pass: zabbix
# If you want to use API token to be authenticated by Zabbix Server
# https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/general#api-tokens
- name: Set API token
ansible.builtin.set_fact:
ansible_zabbix_auth_key: 8ec0d52432c15c91fcafe9888500cf9a607f44091ab554dbee860f6b44fac895
- name: Create a named maintenance window for host www1 for 90 minutes
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_maintenance:
name: Update of www1
host_name: www1.example.com
state: present
minutes: 90
- name: Create a named maintenance window for host www1 and host groups Office and Dev
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_maintenance:
name: Update of www1
host_name: www1.example.com
host_groups:
- Office
- Dev
state: present
tags:
- tag: ExampleHostsTag
- tag: ExampleHostsTag2
value: ExampleTagValue
- tag: ExampleHostsTag3
value: ExampleTagValue
operator: 0
- name: Create a named maintenance window for hosts www1 and db1, without data collection.
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_maintenance:
name: update
host_names:
- www1.example.com
- db1.example.com
state: present
collect_data: false
- name: Remove maintenance window by name
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_maintenance:
name: Test1
state: absent
- name: Create maintenance window by date
# set task level variables as we change ansible_connection plugin here
vars:
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_zabbix_url_path: "zabbixeu" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
ansible_host: zabbix-example-fqdn.org
community.zabbix.zabbix_maintenance:
name: TestDate
state: present
host_names:
- host.example.org
active_since: "1979-09-19 09:00"
active_till: "1979-09-19 17:00"
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_maintenance_module.html