Spec-Zone.ru › Ansible 2.11

community.zabbix.zabbix_action – Создание/удаление/обновление действий Zabbix

Примечание

Этот плагин входит в коллекцию community.zabbix (версия 1.2.0).

Для его установки используйте: ansible-galaxy collection install community.zabbix.

Для использования в плейбуке укажите: community.zabbix.zabbix_action.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

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

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • zabbix-api >= 0.5.4

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
acknowledge_default_message
строка
Текст сообщения операции обновления (ранее известной как "операция подтверждения" до Zabbix 4.0).
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с >= Zabbix 3.4 и < Zabbix 5.0
acknowledge_default_subject
строка
Тема сообщения операции обновления (ранее известной как "операция подтверждения" до Zabbix 4.0).
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с >= Zabbix 3.4 и < Zabbix 5.0
acknowledge_operations
список / элементы=строка
Список операций подтверждения.
Действия подтверждения операций известны как операции обновления с Zabbix 4.0.
Suboptions аналогичны параметрам для operations.
Работает только с >= Zabbix 3.4

псевдонимы: update_operations
conditions
список / элементы=словарь
Список условий для фильтрации результатов.
Для получения дополнительной информации о подвариантах этого параметра, пожалуйста, обратитесь к документации API Zabbix https://www.zabbix.com/documentation/5.0/manual/api/reference/action/object#action_filter_condition
formulaid
строка
Произвольный уникальный идентификатор, используемый для ссылки на условие из пользовательского выражения.
Может содержать только заглавные буквы.
Требуется для фильтров пользовательских выражений и игнорируется в противном случае.
operator
строка
    Варианты:
  • =
  • <>
  • like
  • not like
  • in
  • >=
  • <=
  • not in
  • matches
  • does not match
  • Да
  • Нет
Оператор условия.
Когда type задан как time_period, варианты — in, not in.
matches, does not match, Yes и No операторы условий работают только с >= Zabbix 4.0
type
строка
Тип (метка) условия.
Возможные значения, когда event_source=trigger:
- host_group
- host
- trigger
- trigger_name
- trigger_severity
- time_period
- host_template
- application
- maintenance_status известно в Zabbix 4.0 и выше как "Проблема подавлена"
- event_tag
- event_tag_value
Возможные значения, когда event_source=discovery:
- host_IP
- discovered_service_type
- discovered_service_port
- discovery_status
- uptime_or_downtime_duration
- received_value
- discovery_rule
- discovery_check
- proxy
- discovery_object
Возможные значения, когда event_source=auto_registration:
- proxy
- host_name
- host_metadata
Возможные значения, когда event_source=internal:
- host_group
- host
- host_template
- application
- event_type
value
строка
Значение для сравнения.
Когда type=discovery_status, варианты:
- up
- down
- discovered
- lost
Когда type=discovery_object, варианты:
- host
- service
Когда type=event_type, варианты:
- item in not supported state
- item in normal state
- LLD rule in not supported state
- LLD rule in normal state
- trigger in unknown state
- trigger in normal state
Когда type=trigger_severity, варианты (регистр не учитывается):
- not classified
- information
- warning
- average
- high
- disaster
Независимо от изменения видимых названий в Zabbix. По умолчанию not classified, если не указано.
Помимо вышеперечисленного, обычно это имя объекта или строка для сравнения.
value2
строка
Дополнительное значение для сравнения.
Требуется для действий триггера, когда условие type=event_tag_value.
default_message
строка
Текст сообщения по умолчанию для проблемы.
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с < Zabbix 5.0
default_subject
строка
Тема сообщения по умолчанию для проблемы.
В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем.
Работает только с < Zabbix 5.0
esc_period
строка
Продолжительность шага операции по умолчанию. Должно быть больше 60 секунд.
Принимает только секунды в int для <= Zabbix 3.2
Принимает секунды, единицу времени с суффиксом и пользовательские макросы с => Zabbix 3.4
Требуется при state=present.
eval_type
строка
    Варианты:
  • andor
  • and
  • or
  • custom_expression
Способ вычисления условия фильтра.
По умолчанию andor, если условий меньше 2 или если formula не указан.
По умолчанию custom_expression, если указана формула.
event_source
строка
    Варианты:
  • trigger
  • discovery
  • auto_registration
  • internal
Тип событий, которые будет обрабатывать действие.
Требуется при state=present.
formula
строка
Пользовательское выражение для оценки условий с пользовательским выражением.
Выражение должно содержать идентификаторы, которые ссылаются на каждое условие по его formulaid.
Используемые в выражении идентификаторы должны точно соответствовать определенным в conditions. Ни одно условие не может остаться неиспользованным или пропущенным.
Требуется, когда eval_type=custom_expression.
Используйте последовательные идентификаторы, начинающиеся с "A". Если используются не последовательные идентификаторы, Zabbix переиндексирует их. Это позволит каждому модулю заметить разницу в идентификаторах и обновить действие.
http_login_password
строка
Пароль Basic Auth
http_login_user
строка
Логин Basic Auth
login_password
строка / обязательно
Пароль пользователя Zabbix.
login_user
строка / обязательно
Имя пользователя Zabbix.
name
строка / обязательно
Название действия
operations
список / элементы=строка
Список операций действия
command
строка
Команда для выполнения.
Требуется при type=remote_command и command_type!=global_script.
command_type
строка
    Варианты:
  • custom_script
  • ipmi
  • ssh
  • telnet
  • global_script
Тип команды операции.
Требуется при type=remote_command.
esc_period
строка
По умолчанию:
"0s"
Продолжительность шага эскалации в секундах.
Должно быть больше 60 секунд.
Принимает только секунды в int для <= Zabbix 3.2
Принимает секунды, единицу времени с суффиксом и пользовательские макросы с => Zabbix 3.4
Если установлено значение 0 или 0s, будет использоваться стандартное время эскалации действия.
esc_step_from
строка
По умолчанию:
1
Шаг для начала эскалации.
esc_step_to
строка
По умолчанию:
1
Шаг для завершения эскалации.
Укажите 0 для бесконечного.
execute_on
строка
    Варианты:
  • agent
  • server
  • proxy
Целевой объект, на котором будет выполнена команда пользовательского скрипта.
Требуется при type=remote_command и command_type=custom_script.
host_groups
список / элементы=строка
Список групп хостов, к которым должен быть добавлен хост.
Требуется при type=add_to_host_group или type=remove_from_host_group.
инвентаризация
строка
    Варианты:
  • ручной
  • автоматический
Режим инвентаризации хоста.
Требуется при type=set_host_inventory_mode.
тип_носителя
строка
По умолчанию:
"все"
Тип носителя, который будет использоваться для отправки сообщения.
Может использоваться с type=send_message или type=notify_all_involved внутри acknowledge_operations.
Устанавливается в all для всех типов носителей
сообщение
строка
Текст сообщения об операции.
Будет проверять 'сообщение по умолчанию' и использовать текст из default_message, если это и default_subject не указаны
условие_операции
строка
    Варианты:
  • подтверждено
  • не_подтверждено
Объект условия действия операции определяет условие, которое должно быть выполнено для выполнения текущей операции.
пароль
строка
Пароль, используемый для аутентификации.
Требуется при ssh_auth_type=password или command_type=telnet.
Может использоваться при type=remote_command.
порт
строка
Номер порта, используемый для аутентификации.
Может использоваться при command_type в [ssh, telnet] и type=remote_command.
выполнять_на_группах
строка
Группы хостов, на которых будут выполняться удаленные команды.
Требуется при type=remote_command и run_on_hosts не установлено.
выполнять_на_хостах
строка
Хосты, на которых будут выполняться удаленные команды.
Требуется при type=remote_command и run_on_groups не установлено.
Если установлено в 0, команда будет выполнена на текущем хосте.
имя_скрипта
строка
Имя скрипта, используемого для глобальных команд скриптов.
Требуется при command_type=global_script.
Может использоваться при type=remote_command.
отправить_группам
список / элементы=строка
Группы пользователей для отправки сообщений.
отправить_пользователям
список / элементы=строка
Пользователи (имена пользователей или псевдонимы) для отправки сообщений.
ssh_auth_type
строка
    Варианты:
  • пароль
  • открытый_ключ
Метод аутентификации, используемый для команд SSH.
Требуется при type=remote_command и command_type=ssh.
ssh_privatekey_file
строка
Имя файла закрытого ключа, используемого для команд SSH с аутентификацией по открытому ключу.
Требуется при ssh_auth_type=public_key.
Может использоваться при type=remote_command.
ssh_publickey_file
строка
Имя файла открытого ключа, используемого для команд SSH с аутентификацией по открытому ключу.
Требуется при ssh_auth_type=public_key.
Может использоваться при type=remote_command.
тема
строка
Тема сообщения об операции.
Будет проверять 'сообщение по умолчанию' и использовать текст из default_subject, если это и default_subject не указаны
шаблоны
список / элементы=строка
Список шаблонов, к которым должен быть связан хост.
Требуется при type=link_to_template или type=unlink_from_template.
тип
строка
    Варианты:
  • send_message
  • remote_command
  • add_host
  • remove_host
  • add_to_host_group
  • remove_from_host_group
  • link_to_template
  • unlink_from_template
  • enable_host
  • disable_host
  • set_host_inventory_mode
  • notify_all_involved
Тип операции.
Допустимые варианты при установке типа для recovery_operations и acknowledge_operations:
- send_message
- remote_command
- notify_all_involved
Выбор notify_all_involved поддерживается только в recovery_operations и acknowledge_operations.
имя_пользователя
строка
Имя пользователя, используемое для аутентификации.
Требуется при ssh_auth_type в [public_key, password] или command_type=telnet.
Может использоваться при type=remote_command.
пауза_в_режиме_технического_обслуживания
булево
    Варианты:
  • нет
  • да ←
Нужно ли приостановить эскалацию во время периодов технического обслуживания?
Может использоваться при event_source=trigger.
recovery_default_message
строка
Текст сообщения восстановления.
С >= Zabbix 5.0 этот параметр удалён из API и молча игнорируется модулем.
Работает только с >= Zabbix 3.2 и < Zabbix 5.0
recovery_default_subject
строка
Тема сообщения восстановления.
С >= Zabbix 5.0 этот параметр удалён из API и молча игнорируется модулем.
Работает только с >= Zabbix 3.2 и < Zabbix 5.0
recovery_operations
список / элементы=строка
Список операций восстановления.
Suboptions такие же, как для operations.
Работает только с >= Zabbix 3.2
server_url
строка / требуется
URL сервера Zabbix, с протоколом (http или https). url является псевдонимом для server_url.

псевдонимы: url
состояние
строка
    Варианты:
  • наличие ←
  • отсутствие
Состояние действия.
В present, он создаст действие, если оно не существует, или обновит действие, если связанные данные отличаются.
В absent, он удалит действие, если оно существует.
статус
строка
    Варианты:
  • включено ←
  • выключено
Статус действия.
таймаут
целое число
По умолчанию:
10
Таймаут запроса API (секунды).
validate_certs
булево
    Варианты:
  • нет
  • да ←
Если установлено в False, сертификаты SSL не будут проверяться. Это следует использовать только на контролируемых лично сайтах, использующих самозаверяющие сертификаты.

Примечания

Примечание

  • Поддерживается только Zabbix >= 3.0.
  • Если вы используете login_password=zabbix, слово «zabbix» заменяется на «****» во всем выводе модуля, потому что login_password использует no_log. См. эту страницу FAQ для получения дополнительной информации.

Примеры

# Trigger action with only one condition
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 60
    conditions:
      - type: 'trigger_severity'
        operator: '>='
        value: 'Information'
    operations:
      - type: send_message
        subject: "Something bad is happening"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'

# Trigger action with multiple conditions and operations
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 1m
    conditions:
      - type: 'trigger_name'
        operator: 'like'
        value: 'Zabbix agent is unreachable'
        formulaid: A
      - type: 'trigger_severity'
        operator: '>='
        value: 'disaster'
        formulaid: B
    formula: A or B
    operations:
      - type: send_message
        media_type: 'Email'
        send_to_users:
          - 'Admin'
      - type: remote_command
        command: 'systemctl restart zabbix-agent'
        command_type: custom_script
        execute_on: server
        run_on_hosts:
          - 0

# Trigger action with recovery and acknowledge operations
- name: Deploy trigger action
  community.zabbix.zabbix_action:
    server_url: "http://zabbix.example.com/zabbix/"
    login_user: Admin
    login_password: secret
    name: "Send alerts to Admin"
    event_source: 'trigger'
    state: present
    status: enabled
    esc_period: 1h
    conditions:
      - type: 'trigger_severity'
        operator: '>='
        value: 'Information'
    operations:
      - type: send_message
        subject: "Something bad is happening"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'
    recovery_operations:
      - type: send_message
        subject: "Host is down"
        message: "Come on, guys do something"
        media_type: 'Email'
        send_to_users:
          - 'Admin'
    acknowledge_operations:
      - type: send_message
        media_type: 'Email'
        send_to_users:
          - 'Admin'

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращено Описание
сообщение
строка
успех
Результат операции

Пример:
Действие удалено: Регистрация веб-серверов, ИД: 0001


Авторы

  • Ruben Tsirunyan (@rubentsirunyan)
  • Ruben Harutyunov (@K-DOT)

© 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_action_module.html

Spec-Zone.ru

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