community.zabbix.zabbix_action модуль — Создание/Удаление/Изменение действий Zabbix
Примечание
Этот модуль входит в коллекцию community.zabbix (версия 2.5.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить её установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.zabbix. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в плейбуке укажите: community.zabbix.zabbix_action.
Обзор
- Этот модуль позволяет создавать, изменять и удалять действия Zabbix.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.9
Параметры
Параметр | Комментарии |
|---|---|
acknowledge_operations aliases: update_operations list / elements=dictionary | Список операций подтверждения. Операции подтверждения действий известны как операции обновления, начиная с Zabbix 4.0.
Default: |
|
command string |
Команда для выполнения. |
|
command_type string |
Тип команды операции. Choices:
|
|
execute_on string |
Целевой объект, на котором будет выполнена команда операции пользовательского скрипта. Choices:
|
|
media_type string |
Тип носителя, который будет использоваться для отправки сообщения. Может использоваться с type=send_message или type=notify_all_involved внутри acknowledge_operations. Установите значение Default: |
|
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. Choices:
|
|
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. |
|
Тема сообщения строка |
Тема сообщения об операции. Если op_message и subject не определены, будет использоваться «стандартное сообщение» из типа носителя. |
|
Тип строка / обязательно |
Тип операции. Варианты:
|
|
Имя пользователя строка |
Имя пользователя, используемое для аутентификации. Обязательно, когда ssh_auth_type в [public_key, password] или command_type=telnet. Может использоваться, когда type=remote_command. |
Условия список / элементы=словарь | Список условий для фильтрации результатов. Дополнительную информацию о подвариантах этого параметра см. в документации Zabbix API https://www.zabbix.com/documentation/5.0/manual/api/reference/action/object#action_filter_condition По умолчанию: |
|
formulaid строка |
Произвольный уникальный идентификатор, используемый для ссылки на условие из пользовательского выражения. Может содержать только заглавные буквы. Требуется для фильтров пользовательских выражений и игнорируется в противном случае. |
|
Оператор строка / обязательно |
Оператор условия. Когда type задан как Варианты:
|
|
Тип строка / обязательно |
Тип (метка) условия. Возможные значения, когда event_source=trigger:
Возможные значения, когда event_source=discovery:
Возможные значения, когда event_source=auto_registration:
Возможные значения, когда event_source=internal:
|
|
Значение строка |
Значение для сравнения. Когда type=discovery_status, варианты:
Когда type=discovery_object, варианты:
Когда type=event_type, варианты:
Когда type=trigger_severity, варианты (регистронезависимые):
Независимо от изменения отображаемых названий в Zabbix. По умолчанию Помимо вышеперечисленных вариантов, это обычно либо имя объекта, либо строка для сравнения. |
|
значение2 строка |
Дополнительное значение для сравнения. Требуется для действий по триггеру, когда условие type=event_tag_value. |
esc_period строка | Длительность шага операции по умолчанию. Должна быть больше 60 секунд. Принимает секунды, единицы измерения времени с суффиксом и пользовательские макросы со Zabbix 3.4. Обязательно при |
eval_type строка | Метод оценки фильтра. По умолчанию По умолчанию Варианты:
|
event_source строка | Тип событий, с которыми будет работать действие. Обязательно при Варианты:
|
formula строка | Пользовательское выражение для оценки условий с пользовательским выражением. Выражение должно содержать ID, ссылающиеся на каждое условие по его formulaid. Используемые в выражении ID должны точно соответствовать определённым в conditions. Ни одно условие не должно оставаться неиспользуемым или пропущенным. Требуется при eval_type=custom_expression. Используйте последовательные ID, начинающиеся с «A». Если используются не последовательные ID, Zabbix переиндексирует их. Это заставит каждый модуль заметить разницу в ID и обновить действие. |
http_login_password string | Пароль Basic Auth |
http_login_user string | Логин Basic Auth |
name string / обязательно | Название действия |
notify_if_canceled boolean | Уведомлять при отмене эскалации. Можно использовать, когда event_source=trigger. Варианты:
|
operations list / элементы=словарь | Список операций действия По умолчанию: |
|
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 / элементы=строка |
Список групп хостов, к которым должен быть добавлен хост. Требуется, когда 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 в [ssh, telnet] и type=remote_command. |
|
run_on_groups list / элементы=строка |
Группы хостов для запуска команд на удаленных хостах. Требуется, когда type=remote_command и run_on_hosts не установлено. |
|
run_on_hosts list / элементы=строка |
Хосты для запуска удаленных команд. Требуется, когда 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 не определены, будет использоваться «сообщение по умолчанию» из типа медиа. |
|
templates list / elements=string |
Список шаблонов, к которым должен быть связан хост. Требуется, когда type=link_to_template или type=unlink_from_template. |
|
type string / обязательно |
Тип операции. Допустимые значения при установке типа для 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 6.4 Варианты:
|
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 не определены, будет использоваться «сообщение по умолчанию» из типа медиа. |
|
пароль строка |
Пароль, используемый для аутентификации. Требуется, когда ssh_auth_type=пароль или command_type=telnet. Может использоваться, когда type=remote_command. |
|
порт целое число |
Номер порта, используемый для аутентификации. Может использоваться, когда command_type в [ssh, telnet] и type=remote_command. |
|
run_on_groups список / элементы=строка |
Группы хостов, на которых будут выполняться удалённые команды. Требуется, когда type=remote_command и run_on_hosts не задано. |
|
run_on_hosts список / элементы=строка |
Хосты, на которых будут выполняться удалённые команды. Требуется, когда type=remote_command и run_on_groups не задано. Если установлено значение 0, команда будет выполнена на текущем хосте. |
|
script_name строка |
Имя скрипта, используемого для глобальных команд скриптов. Требуется, когда command_type=global_script. Может использоваться, когда type=remote_command. |
|
send_to_groups список / элементы=строка |
Пользовательские группы для отправки сообщений. |
|
send_to_users список / элементы=строка |
Пользователи (имена пользователей или псевдонимы) для отправки сообщений. |
|
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. |
|
subject строка |
Тема сообщения об операции. Если op_message и subject не определены, будет использоваться «сообщение по умолчанию» из типа оповещения. |
|
тип строка / обязательно |
Тип операции. Варианты:
|
|
имя пользователя строка |
Имя пользователя, используемое для аутентификации. Требуется, когда ssh_auth_type в [public_key, пароль] или command_type=telnet. Может использоваться, когда type=remote_command. |
состояние строка | Состояние действия. При При Варианты:
|
статус строка | Статус действия. Варианты:
|
Примеры
# 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 строка | Результат операции Возвращаемое значение: успех Пример: |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/zabbix/zabbix_action_module.html