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 строка |
| Оператор условия. Когда 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, если условий меньше 2 или если formula не указан.По умолчанию custom_expression, если указана формула. | |
| event_source строка |
| Тип событий, которые будет обрабатывать действие. Требуется при 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 строка |
| Тип команды операции. Требуется при 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 строка |
| Целевой объект, на котором будет выполнена команда пользовательского скрипта. Требуется при 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. | ||
| тип строка |
| Тип операции. Допустимые варианты при установке типа для 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