Spec-Zone.ru › Ansible

Модуль community.zabbix.zabbix_maintenance — создание окон обслуживания Zabbix

Примечание

Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля могут потребоваться дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.zabbix.zabbix_maintenance.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры

Краткое описание

  • Этот модуль позволяет создавать окна обслуживания Zabbix.

Требования

Следующие требования должны быть выполнены на узле, на котором выполняется этот модуль.

  • python >= 3.9

Параметры

Параметр

Описание

active_since

string

Время начала обслуживания.

Указанное значение будет округлено вниз до минут.

Если значение не указано, используется `datetime.datetime.now().

ПРИМЕЧАНИЕ: это время не будет обновляться при последующих запусках, если не задано явно.

По умолчанию: ""

active_till

string

Время окончания обслуживания.

Указанное значение будет округлено вниз до минут.

Если параметр не указан и используется только minutes, значение вычисляется на основе minutes.

При использовании time_periods по умолчанию задаётся через год после active_since.

По умолчанию: ""

append

boolean

Добавлять ли узлы и группы узлов к существующему обслуживанию.

Варианты:

  • false ← (по умолчанию)
  • true

collect_data

boolean

Тип обслуживания: со сбором данных или без него.

Варианты:

  • false
  • true ← (по умолчанию)

desc

псевдонимы: description

string

Краткое описание окна обслуживания.

По умолчанию: "Created by Ansible"

host_groups

псевдоним: host_group

list / elements=string

Группы узлов, для которых нужно настроить окно обслуживания.

Обязательный параметр, если state=present и host_names не используется.

host_names

псевдоним: host_name

list / elements=string

Узлы, для которых нужно настроить окно обслуживания.

Обязательный параметр, если state=present и host_groups не используется.

http_login_password

string

Пароль для базовой аутентификации

http_login_user

string

Имя пользователя для базовой аутентификации

minutes

integer

Длительность окна обслуживания в минутах.

Если параметр явно не задан, по умолчанию используется 10 минут.

Этот аргумент УСТАРЕЛ, заменён аргументом time_periods и будет удалён в версии 4.0.0.

Использование этого аргумента позволяет создать только одно однократное окно обслуживания.

name

string / обязательный

Уникальное имя окна обслуживания.

state

string

Создать или удалить окно обслуживания.

Удаляемое окно обслуживания определяется по имени.

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

tags

list / elements=dictionary

Список тегов, назначаемых узлам во время обслуживания.

Требуется collect_data=yes.

operator

integer

Оператор условия.

Допустимые значения:

0 — равно

2 — содержит

По умолчанию: 2

tag

string / обязательный

Имя тега.

value

string

Значение тега.

По умолчанию: ""

time_periods

псевдоним: time_period

list / elements=dictionary

Список запланированных простоев в период обслуживания.

Этот аргумент заменяет аргумент minutes.

day_of_month

integer

День месяца, на который запланировано окно обслуживания.

Этот аргумент обязателен, если задано frequency=monthly, а day_of_week не указан.

day_of_week

list / elements=string

День недели, на который запланировано окно обслуживания.

Этот аргумент обязателен, если задано frequency=weekly.

Этот аргумент обязателен, если задано frequency=monthly, а day_of_month не указан.

duration

integer

Длительность этого окна обслуживания в минутах.

По умолчанию: 10

every

string

Интервал между событиями.

При значении frequency daily или weekly здесь должно быть указано целое число.

Например, при frequency=daily и every=2 простой будет происходить через день.

Для I’(frequency=monthly), если задано day_of_week, допустимы значения first, second, third, forth, last (неделя).

frequency

string / обязательный

Частота повторения этого окна обслуживания.

Варианты:

  • "once"
  • "daily"
  • "weekly"
  • "monthly"

months

псевдоним: month

list / elements=string

Месяцы, в которые будет происходить окно обслуживания.

Этот аргумент обязателен, если задано frequency=monthly.

start_date

string

Дата, на которую запланирован простой.

Используется только при значении frequency once.

Если значение не указано, используется `datetime.date.today().

start_time

string / обязательный

Время начала этого простоя.

Время следует указывать в формате HH:MM, используя 24-часовой формат.

visible_name

boolean

Тип имени узла Zabbix, используемый для определения узлов, включаемых в обслуживание.

visible_name=yes — поиск по отображаемому имени; visible_name=no — поиск по техническому имени.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • Полезно переводить узлы в режим обслуживания перед крупным обновлением, а после обновления удалять окно обслуживания.
  • Модуль создаёт окно обслуживания с момента 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
    time_periods:
      - frequency: once
        duration: 90
        start_date: 2025-01-01
        start_time: 17:00

- name: Create a  maintenance window that occurs every other day 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
    time_periods:
      - frequency: daily
        start_time: 17:00
        every: 2

- name: Create a monthly (on the second Monday of the month) 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
    time_periods:
      - frequency: monthly
        start_time: 17:00
        day_of_week: Monday
        every: second

- 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.  Window will occur on the 1st of January, April, July, and October
  # 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"
    time_periods:
      - frequency: monthly
        months:
          - January
          - April
          - July
          - October
        day_of_month: 1
        start_time: 17:00

Авторы

  • Alexander Bulimov (@abulimov)

Ссылки на коллекцию

  • Отслеживание проблем
  • Домашняя страница
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/zabbix/zabbix_maintenance_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API