community.zabbix.zabbix_mediatype – Создание/изменение/удаление типов оповещений Zabbix
Примечание
Этот плагин входит в коллекцию community.zabbix (версия 1.2.0).
Для установки используйте: ansible-galaxy collection install community.zabbix.
Для использования в playbook, укажите: community.zabbix.zabbix_mediatype.
Описание
- Этот модуль позволяет создавать, изменять и удалять типы оповещений Zabbix.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- zabbix-api >= 0.5.4
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| attempt_interval целое число | Значение по умолчанию: 10 | Интервал между попытками повторной отправки. Возможный диапазон значений: 0-60. Работает только с версиями Zabbix 3.4 или новее. | |
| description строка | Значение по умолчанию: "" | Описание типа оповещения. Работает только с версиями Zabbix 4.4 или новее. | |
| event_menu логический тип |
| Может использоваться при type=webhook. Включает запись в меню событий со ссылкой на созданный внешний билет. | |
| event_menu_name строка | Требуется при event_menu=True. Название записи в меню событий. | ||
| event_menu_url строка | Требуется при event_menu=True. Базовый URL записи в меню событий. | ||
| gsm_modem строка | Имя последовательного устройства GSM-модема. Требуется при type=sms. | ||
| http_login_password строка | Пароль для авторизации Basic Auth. | ||
| http_login_user строка | Логин для авторизации Basic Auth. | ||
| login_password строка / обязательно | Пароль пользователя Zabbix. | ||
| login_user строка / обязательно | Имя пользователя Zabbix. | ||
| max_attempts целое число | Значение по умолчанию: 3 | Максимальное количество попыток отправки оповещения. Возможный диапазон значений: 0-10. Работает только с версиями Zabbix 3.4 или новее. | |
| max_sessions целое число | Значение по умолчанию: 1 | Максимальное количество оповещений, которые могут обрабатываться параллельно. Возможная величина равна 1 при type=sms и 0-100 в противном случае. Работает только с версиями Zabbix 3.4 или новее. | |
| message_templates список / элементы=словарь | Значение по умолчанию: [] | Стандартные сообщения оповещений для типов событий. Работает только с версиями Zabbix 5.0 или новее. | |
| body строка | Значение по умолчанию: "" | Тело стандартного сообщения. Может содержать макросы. | |
| eventsource строка |
| Источник события. Требуется при использовании recovery. | |
| recovery строка |
| Режим работы. Требуется при использовании eventsource. | |
| subject строка | Значение по умолчанию: "" | Тема стандартного сообщения. Может содержать макросы и ограничена 255 символами. | |
| message_text_limit строка |
| Предел длины текста сообщения. Требуется при type=ez_texting. 160 символов для США и 136 символов для Канады. | |
| name строка / обязательно | Имя типа оповещения. | ||
| password строка | Пароль для аутентификации. Требуется при type=jabber или type=ez_texting. Требуется при type=email и smtp_authentication=true. | ||
| process_tags логический тип |
| Может использоваться при type=webhook. Обрабатывать возвращаемые свойства JSON как теги. Эти теги добавляются к уже существующим (если таковые имеются) тегам события проблемы в Zabbix. | |
| script_name строка | Имя выполняемого скрипта. Требуется при type=script. | ||
| script_params список / элементы=строка | Список параметров скрипта. Требуется при type=script. | ||
| server_url строка / обязательно | URL сервера Zabbix с протоколом (http или https). url — псевдоним для server_url.псевдонимы: url | ||
| smtp_authentication логический тип |
| Включить или отключить аутентификацию SMTP с именем пользователя и паролем. Если установлено значение true, необходимо указать username и password. | |
| smtp_email строка | Адрес электронной почты, с которого будут отправляться оповещения. Требуется при type=email. | ||
| smtp_helo строка | Значение по умолчанию: "localhost" | SMTP HELO. Требуется при type=email. | |
| smtp_security строка |
| Уровень безопасности соединения SMTP. | |
| smtp_server строка | Значение по умолчанию: "localhost" | Хост сервера SMTP. Требуется при type=email. | |
| smtp_server_port целое число | Значение по умолчанию: 25 | Порт сервера SMTP. Требуется при type=email. | |
| smtp_verify_host логический тип |
| Проверка хоста SSL для SMTP. Можно указать при smtp_security=STARTTLS или smtp_security=SSL/TLS
| |
| smtp_verify_peer логический тип |
| Проверка узла SSL для SMTP. Можно указать при smtp_security=STARTTLS или smtp_security=SSL/TLS
| |
| state строка |
| Желаемое состояние типа оповещения. При present, будет создан тип оповещения, если он не существует, или обновлен тип оповещения, если сопутствующие данные отличаются.При absent, будет удален тип оповещения, если он существует. | |
| status строка |
| Включен или выключен тип оповещения. | |
| timeout целое число | Значение по умолчанию: 10 | Таймаут запроса API (секунды). | |
| type строка / обязательно |
| Тип оповещения. Типы оповещений jabber и ez_texting работают только с версиями Zabbix 4.2 или более ранними. Тип оповещения webhook работает только с версиями Zabbix 4.4 или новее. | |
| username строка | Имя пользователя или идентификатор Jabber. Требуется при type=jabber или type=ez_texting. Требуется при type=email и smtp_authentication=true. | ||
| validate_certs логический тип |
| Если значение False, сертификаты SSL не будут проверены. Это следует использовать только на сайтах, контролируемых лично, с использованием самозаверяемых сертификатов. | |
| webhook_params список / элементы=словарь | Значение по умолчанию: [] | Может использоваться при type=webhook. Переменные webhook, которые передаются скрипту webhook при выполнении. | |
| name строка / обязательно | Имя параметра. | ||
| value строка | Значение по умолчанию: "" | Значение параметра. Все макросы, поддерживаемые в оповещениях о проблемах, поддерживаются в параметрах. Значения автоматически кодируются в URL. Значения из макросов разрешаются и затем автоматически кодируются в URL. | |
| webhook_script строка | Требуется при type=webhook. Код JavaScript, который выполнит операцию webhook. Этот код имеет доступ ко всем параметрам в webhook_params. Он может выполнять запросы HTTP GET, POST, PUT и DELETE и имеет контроль над заголовками HTTP и телом запроса. Он может вернуть статус OK вместе с необязательным списком тегов и значений тегов или строкой ошибки. Работает только с версиями Zabbix 4.4 или новее. | ||
| webhook_timeout string | Значение по умолчанию: "30s" | Можно использовать при type=webhook. Таймаут выполнения JavaScript-кода в webhook_script. Возможные значения: 1-60s. | |
Примечания
Примечание
- Если вы используете login_password=zabbix, слово «zabbix» заменяется на «****» во всех выходных данных модуля, так как login_password использует
no_log. Дополнительную информацию см. в этом разделе FAQ.
Примеры
- name: 'Create an email mediatype with SMTP authentication'
community.zabbix.zabbix_mediatype:
name: "Ops email"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'email'
smtp_server: 'example.com'
smtp_server_port: 2000
smtp_email: 'ops@example.com'
smtp_authentication: true
username: 'smtp_user'
password: 'smtp_pass'
- name: 'Create a script mediatype'
community.zabbix.zabbix_mediatype:
name: "my script"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'script'
script_name: 'my_script.py'
script_params:
- 'arg1'
- 'arg2'
- name: 'Create a jabber mediatype'
community.zabbix.zabbix_mediatype:
name: "My jabber"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'jabber'
username: 'jabber_id'
password: 'jabber_pass'
- name: 'Create a SMS mediatype'
community.zabbix.zabbix_mediatype:
name: "My SMS Mediatype"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'sms'
gsm_modem: '/dev/ttyS0'
# Supported since Zabbix 4.4
- name: 'Create a webhook mediatype'
community.zabbix.zabbix_mediatype:
name: "My webhook Mediatype"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'webhook'
webhook_script: "{{ lookup('file', 'slack.js') }}"
webhook_params:
- name: alert_message
value: '{ALERT.MESSAGE}'
- name: zabbix_url
value: '{$ZABBIX.URL}'
process_tags: True
event_menu: true
event_menu_name: "Open in Slack: '{EVENT.TAGS.__channel_name}'"
event_menu_url: '{EVENT.TAGS.__message_link}'
# Supported since Zabbix 5.0
- name: 'Create an email mediatype with message templates'
community.zabbix.zabbix_mediatype:
name: "Ops email"
server_url: "http://example.com/zabbix/"
login_user: Admin
login_password: "zabbix"
type: 'email'
smtp_email: 'ops@example.com'
message_templates:
- eventsource: triggers
recovery: operations
subject: "Problem: {EVENT.NAME}"
body: "Problem started at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\n"
- eventsource: triggers
recovery: recovery_operations
subject: "Resolved: {EVENT.NAME}"
body: "Problem resolved at {EVENT.TIME} on {EVENT.DATE}\r\nProblem name: {EVENT.NAME}\r\n"
- eventsource: triggers
recovery: update_operations
subject: "Updated problem: {EVENT.NAME}"
body: "{USER.FULLNAME} {EVENT.UPDATE.ACTION} problem at {EVENT.UPDATE.DATE} {EVENT.UPDATE.TIME}.\r\n"
- eventsource: discovery
recovery: operations
subject: "Discovery: {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.IPADDRESS}"
body: "Discovery rule: {DISCOVERY.RULE.NAME}\r\n\r\nDevice IP: {DISCOVERY.DEVICE.IPADDRESS}"
- eventsource: autoregistration
recovery: operations
subject: "Autoregistration: {HOST.HOST}"
body: "Host name: {HOST.HOST}\r\nHost IP: {HOST.IP}\r\nAgent port: {HOST.PORT}"
Авторы
- Ruben Tsirunyan (@rubentsirunyan)
© 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_mediatype_module.html