Модуль community.zabbix.zabbix_action – создание/удаление/обновление действий Zabbix
Примечание
Этот модуль входит в коллекцию community.zabbix (версия 4.2.0).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.
Чтобы использовать модуль в плейбуке, укажите: community.zabbix.zabbix_action.
Краткое описание
- Этот модуль позволяет создавать, изменять и удалять действия Zabbix.
Требования
Следующие требования должны быть выполнены на хосте, который запускает этот модуль.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
acknowledge_operations псевдонимы: update_operations list / элементы=dictionary | Список операций подтверждения. Начиная с Zabbix 4.0 операции подтверждения действий называются операциями обновления.
По умолчанию: |
|
command string |
Выполняемая команда. |
|
command_type string |
Тип команды операции. Варианты:
|
|
execute_on string |
Цель, на которой будет выполнена команда операции пользовательского скрипта. Варианты:
|
|
media_type string |
Тип носителя, используемый для отправки сообщения. Можно использовать с type=send_message или type=notify_all_involved внутри acknowledge_operations. Установите значение По умолчанию: |
|
op_message string |
Текст сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
password string |
Пароль для аутентификации. Обязателен, если задано ssh_auth_type=password или command_type=telnet. Можно использовать, если задано type=remote_command. |
|
port integer |
Номер порта для аутентификации. Можно использовать, если command_type in [ssh, telnet] и задано type=remote_command. |
|
run_on_groups list / элементы=string |
Группы узлов, на которых будут выполняться удалённые команды. Обязательно, если задано type=remote_command и не задано run_on_hosts. |
|
run_on_hosts list / элементы=string |
Узлы, на которых будут выполняться удалённые команды. Обязательно, если задано type=remote_command и не задано run_on_groups. Если задано значение 0, команда будет выполнена на текущем узле. |
|
script_name string |
Имя скрипта для команд глобального скрипта. Обязательно, если задано command_type=global_script. Можно использовать, если задано type=remote_command. |
|
send_to_groups list / элементы=string |
Группы пользователей, которым будут отправлены сообщения. |
|
send_to_users list / элементы=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 |
Тема сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
type string / обязательный |
Тип операции. Варианты:
|
|
username string |
Имя пользователя для аутентификации. Обязательно, если ssh_auth_type in [public_key, password] или задано command_type=telnet. Можно использовать, если задано type=remote_command. |
conditions list / элементы=dictionary | Список условий для фильтрации результатов. Дополнительную информацию о подопциях этого параметра см. в документации по API Zabbix: https://www.zabbix.com/documentation/5.0/manual/api/reference/action/object#action_filter_condition По умолчанию: |
|
formulaid string |
Произвольный уникальный идентификатор для ссылки на условие из пользовательского выражения. Может содержать только заглавные буквы. Обязателен для фильтров с пользовательским выражением; в остальных случаях игнорируется. |
|
operator string / обязательный |
Оператор условия. Если для type задано значение Варианты:
|
|
type string / обязательный |
Тип (метка) условия. Возможные значения, если задано event_source=trigger: - - - - - - - - - - Возможные значения, если задано event_source=discovery: - - - - - - - - - - Возможные значения, если задано event_source=auto_registration: - - - Возможные значения, если задано event_source=internal: - - - - |
|
value string |
Значение для сравнения. Если задано type=discovery_status, допустимы варианты: - - - - Если задано type=discovery_object, допустимы варианты: - - Если задано type=event_type, допустимы варианты: - - - - - - Если задано type=trigger_severity, допустимы варианты (без учёта регистра): - - - - - - Независимо от изменений пользовательских названий в Zabbix. Если значение не указано, используется Помимо перечисленных выше вариантов, обычно это имя объекта или строка для сравнения. |
|
value2 string |
Вторичное значение для сравнения. Обязательно для действий триггера, если для условия задано type=event_tag_value. |
esc_period string | Длительность шага операции по умолчанию. Должна превышать 60 секунд. Принимает значение в секундах, единицу времени с суффиксом и пользовательский макрос начиная с => Zabbix 3.4 Обязательно, если |
eval_type string | Метод оценки условий фильтра. По умолчанию используется Если указано formula, по умолчанию используется Варианты:
|
event_source string | Тип событий, обрабатываемых действием. Обязательно, если Варианты:
|
formula string | Пользовательское выражение для оценки условий с помощью пользовательского выражения. Выражение должно содержать идентификаторы, ссылающиеся на каждое условие через его formulaid. Идентификаторы в выражении должны точно совпадать с указанными в conditions. Ни одно условие не должно оставаться неиспользованным или пропущенным. Обязательно, если задано eval_type=custom_expression. Используйте последовательные идентификаторы, начиная с «A». Если идентификаторы не являются последовательными, Zabbix перенумерует их. Из-за этого при каждом запуске модуля будет обнаруживаться различие в идентификаторах и обновляться действие. |
http_login_password string | Пароль для базовой аутентификации |
http_login_user string | Имя пользователя для базовой аутентификации |
name string / обязательный | Имя действия |
notify_if_canceled boolean | Следует ли отправлять уведомление при отмене эскалации. Можно использовать, если задано event_source=trigger. Варианты:
|
operations list / элементы=dictionary | Список операций действия По умолчанию: |
|
command string |
Выполняемая команда. Обязательно, если задано type=remote_command и command_type!=global_script. |
|
command_type string |
Тип команды операции. Обязательно, если задано type=remote_command. Варианты:
|
|
esc_period string |
Длительность шага эскалации в секундах. Должна превышать 60 секунд. Принимает значение в секундах, единицу времени с суффиксом и пользовательский макрос. Если задано значение 0 или 0s, будет использоваться период эскалации действия по умолчанию. По умолчанию: |
|
esc_step_from integer |
Шаг, с которого начинается эскалация. По умолчанию: |
|
esc_step_to integer |
Шаг, на котором заканчивается эскалация. Укажите 0 для бесконечной эскалации. По умолчанию: |
|
execute_on string |
Цель, на которой будет выполнена команда операции пользовательского скрипта. Обязательно, если задано type=remote_command и command_type=custom_script. Варианты:
|
|
host_groups list / элементы=string |
Список групп узлов, в которые следует добавить узел. Обязательно, если задано type=add_to_host_group или type=remove_from_host_group. |
|
inventory string |
Режим инвентаризации узла. Обязательно, если задано type=set_host_inventory_mode. Варианты:
|
|
media_type string |
Тип носителя, используемый для отправки сообщения. Можно использовать с type=send_message или type=notify_all_involved внутри acknowledge_operations. Установите значение По умолчанию: |
|
op_message string |
Текст сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
operation_condition string |
Объект условия операции действия определяет условие, которое должно быть выполнено для запуска текущей операции. Варианты:
|
|
password string |
Пароль для аутентификации. Обязателен, если ssh_auth_type=password или command_type=telnet. Можно использовать, если type=remote_command. |
|
port integer |
Номер порта для аутентификации. Можно использовать, если command_type in [ssh, telnet] и type=remote_command. |
|
run_on_groups list / elements=string |
Группы узлов, на которых выполняются удалённые команды. Обязательно, если type=remote_command, а run_on_hosts не задан. |
|
run_on_hosts list / elements=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 |
Тема сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
tags list / elements=dictionary |
Теги узла для добавления должны иметь заданное свойство tag. Свойство value необязательно. Также поддерживается удаление. Поддерживается, если operationtype имеет значение |
|
tag string |
Имя тега |
|
value string |
Значение тега (необязательно) |
|
templates list / elements=string |
Список шаблонов, с которыми нужно связать узел. Обязательно, если type=link_to_template или type=unlink_from_template. |
|
type string / обязательный |
Тип операции. Допустимые варианты при задании type для recovery_operations и acknowledge_operations: - - - Вариант
Варианты:
|
|
username string |
Имя пользователя для аутентификации. Обязательно, если ssh_auth_type in [public_key, password] или command_type=telnet. Можно использовать, если type=remote_command. |
pause_in_maintenance boolean | Приостанавливать ли эскалацию на время технического обслуживания. Можно использовать, если event_source=trigger. Варианты:
|
pause_symptoms boolean | Приостанавливать ли эскалацию, если событие является событием-симптомом. Поддерживается, если для Работает только в Zabbix версии >= 7.0 Варианты:
|
recovery_operations list / elements=dictionary | Список операций восстановления.
По умолчанию: |
|
command string |
Команда для выполнения. |
|
command_type string |
Тип команды операции. Варианты:
|
|
execute_on string |
Цель, на которой будет выполнена команда операции пользовательского скрипта. Варианты:
|
|
media_type string |
Тип носителя, который будет использоваться для отправки сообщения. Можно использовать с type=send_message или type=notify_all_involved в acknowledge_operations. Установите значение По умолчанию: |
|
op_message string |
Текст сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
password string |
Пароль для аутентификации. Обязателен, если ssh_auth_type=password или command_type=telnet. Можно использовать, если type=remote_command. |
|
port integer |
Номер порта для аутентификации. Можно использовать, если command_type in [ssh, telnet] и type=remote_command. |
|
run_on_groups list / elements=string |
Группы узлов, на которых выполняются удалённые команды. Обязательно, если type=remote_command, а run_on_hosts не задан. |
|
run_on_hosts list / elements=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 |
Тема сообщения операции. Если op_message и subject не заданы, будет использовано «сообщение по умолчанию» для типа носителя |
|
type string / обязательный |
Тип операции. Варианты:
|
|
username string |
Имя пользователя для аутентификации. Обязательно, если ssh_auth_type in [public_key, password] или command_type=telnet. Можно использовать, если type=remote_command. |
state string | Состояние действия. При значении При значении Варианты:
|
status string | Статус действия. Варианты:
|
Примеры
# 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
# Trigger action with only one condition
- name: Deploy trigger action
# 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_action:
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"
op_message: "Come on, guys do something"
media_type: "Email"
send_to_users:
- "Admin"
# Trigger action with multiple conditions and operations
- name: Deploy trigger action
# 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_action:
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
# 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_action:
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"
op_message: "Come on, guys do something"
media_type: "Email"
send_to_users:
- "Admin"
recovery_operations:
- type: send_message
subject: "Host is down"
op_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 Пример: |
Ссылки коллекции
© 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_action_module.html