community.zabbix.zabbix_action – Создание/удаление/обновление действий Zabbix
Примечание
Этот плагин входит в коллекцию community.zabbix (версия 1.1.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 и ниже (включительно). | ||
| acknowledge_default_subject строка | Тема сообщения операции обновления (известной как "оповещение об операции" до Zabbix 4.0). В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем. Работает только с Zabbix 3.4 и ниже (включительно). | ||
| acknowledge_operations список / элементы=строка | Список операций оповещения. Действия оповещения, известные как операции обновления с Zabbix 4.0. Suboptions совпадают с параметром operations.Работает только с Zabbix 3.4 и выше. Псевдонимы: update_operations | ||
| conditions список / элементы=словарь | Список условий для фильтрации результатов. Дополнительную информацию о подпараметрах см. в документации Zabbix API 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
Если не указано, по умолчанию not classified. В остальном обычно это имя объекта или строка для сравнения. | ||
| value2 строка | Второе значение для сравнения. Требуется для действий триггеров, когда type=event_tag_value. | ||
| default_message строка | Текст сообщения по умолчанию для проблемы. В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем. Работает только с Zabbix 4.9 и ниже. | ||
| default_subject строка | Тема сообщения по умолчанию для проблемы. В Zabbix 5.0 и выше это поле удалено из API и будет проигнорировано модулем. Работает только с Zabbix 4.9 и ниже. | ||
| esc_period строка | Продолжительность шага операции по умолчанию. Должно быть больше 60 секунд. Принимает только секунды как целое число до Zabbix 3.2. Принимает секунды, единицы измерения времени с суффиксом и пользовательские макросы с Zabbix 3.4. Обязательно, когда state=present. | ||
| eval_type строка |
| Метод вычисления условий фильтра. По умолчанию andor, если условий меньше 2 или не указано formula.По умолчанию custom_expression если указана formula. | |
| 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 строка | По умолчанию: "0с" | Продолжительность шага эскалации в секундах. Должно быть больше 60 секунд. Принимает только секунды как целое число до Zabbix 3.2. Принимает секунды, единицы измерения времени с суффиксом и пользовательские макросы с Zabbix 3.4. Если установлено в 0 или 0с, будет использовано значение по умолчанию для эскалации действия. | |
| 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. | ||
| inventory string |
| Режим инвентаризации хоста. Требуется при type=set_host_inventory_mode. | |
| media_type string | По умолчанию: "all" | Тип носителя, который будет использоваться для отправки сообщения. Может использоваться с type=send_message или type=notify_all_involved внутри acknowledge_operations. Установлено в all для всех типов носителей | |
| message string | Текст сообщения операции. Будет проверяться «сообщение по умолчанию» и использоваться текст из default_message, если это и default_subject не указаны | ||
| operation_condition string |
| Объект условия выполнения действия операции определяет условие, которое должно быть выполнено для выполнения текущей операции. | |
| password string | Пароль, используемый для аутентификации. Требуется при ssh_auth_type=password или command_type=telnet. Может использоваться при type=remote_command. | ||
| port string | Номер порта, используемый для аутентификации. Может использоваться при command_type в [ssh, telnet] и type=remote_command. | ||
| run_on_groups string | Группы хостов, на которых будут выполняться удалённые команды. Требуется при type=remote_command и run_on_hosts не установлено. | ||
| run_on_hosts string | Хосты, на которых будут выполняться удалённые команды. Требуется при type=remote_command и run_on_groups не установлено. Если установлено в 0, команда будет выполнена на текущем хосте. | ||
| script_name string | Имя скрипта, используемого для команд глобальных скриптов. Требуется при command_type=global_script. Может использоваться при type=remote_command. | ||
| send_to_groups list / elements=string | Группы пользователей, которым нужно отправить сообщения. | ||
| send_to_users list / elements=string | Пользователи (имена пользователей или псевдонимы) для отправки сообщений. | ||
| ssh_auth_type string |
| Метод аутентификации, используемый для команд SSH. Требуется при type=remote_command и command_type=ssh. | |
| ssh_privatekey_file string | Имя файла закрытого ключа, используемого для команд SSH с аутентификацией с помощью открытого ключа. Требуется при ssh_auth_type=public_key. Может использоваться при type=remote_command. | ||
| ssh_publickey_file string | Имя файла открытого ключа, используемого для команд SSH с аутентификацией с помощью открытого ключа. Требуется при ssh_auth_type=public_key. Может использоваться при type=remote_command. | ||
| subject string | Тема сообщения операции. Будет проверяться «сообщение по умолчанию» и использоваться текст из default_subject, если это и default_subject не указаны | ||
| templates list / elements=string | Список шаблонов, к которым должен быть связан хост. Требуется при type=link_to_template или type=unlink_from_template. | ||
| type string |
| Тип операции. Допустимые варианты при установке типа для recovery_operations и acknowledge_operations: - send_message
- remote_command
- notify_all_involved
Выбор notify_all_involved поддерживается только в recovery_operations и acknowledge_operations. | |
| username string | Имя пользователя, используемое для аутентификации. Требуется при ssh_auth_type в [public_key, password] или command_type=telnet. Может использоваться при type=remote_command. | ||
| pause_in_maintenance boolean |
| Следует ли приостановить эскалацию во время периодов технического обслуживания. Может использоваться при event_source=trigger. | |
| recovery_default_message string | Текст сообщения восстановления. Начиная с Zabbix 5.0 этот параметр удалён из API и отбрасывается модулем. Работает только с >= Zabbix 3.2 и < Zabbix 5.0 | ||
| recovery_default_subject string | Тема сообщения восстановления. Начиная с Zabbix 5.0 этот параметр удалён из API и отбрасывается модулем. Работает только с >= Zabbix 3.2 и < Zabbix 5.0 | ||
| recovery_operations list / elements=string | Список операций восстановления. Suboptions аналогичны параметрам для operations.Работает только с >= Zabbix 3.2 | ||
| server_url string / required | URL сервера Zabbix с протоколом (http или https). url является псевдонимом для server_url. псевдонимы: url | ||
| state string |
| Состояние действия. В present, он создаст действие, если оно не существует, или обновит действие, если связанные данные отличаются.В absent, он удалит действие, если оно существует. | |
| status string |
| Статус действия. | |
| timeout integer | По умолчанию: 10 | Таймаут запроса API (секунды). | |
| validate_certs boolean |
| Если установлено в 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'
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращено | Описание |
|---|---|---|
| msg string | success | Результат операции Пример: Действие удалено: Регистрация веб-серверов, ID: 0001 |
Авторы
- Ruben Tsirunyan (@rubentsirunyan)
- Ruben Harutyunov (@K-DOT)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/zabbix/zabbix_action_module.html