Spec-Zone.ru › Ansible 2.10

community.zabbix.zabbix_mediatype – Создание/обновление/удаление типов оповещений Zabbix

Примечание

Этот плагин входит в коллекцию community.zabbix (версия 1.1.0).

Для его установки используйте: ansible-galaxy collection install community.zabbix.

Для использования в плейбуке укажите: 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
строка
    Варианты:
  • Без
  • STARTTLS
  • SSL/TLS
Уровень безопасности соединения 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
логическое значение
    Варианты:
  • нет ←
  • да
Проверять peer SSL для SMTP.
Можно указать при smtp_security=STARTTLS или smtp_security=SSL/TLS
state
строка
    Варианты:
  • есть ←
  • отсутствует
Желаемое состояние типа оповещения.
При present, будет создан тип оповещения, если он не существует, или обновлён, если связанные данные отличаются.
При absent, будет удалён тип оповещения, если он существует.
status
строка
    Варианты:
  • включено ←
  • выключено
Тип оповещения включён или выключен.
timeout
целое число
Значение по умолчанию:
10
Таймаут запроса к API (секунды).
type
строка / обязательно
    Варианты:
  • электронная почта
  • скрипт
  • сообщение
  • webhook
  • jabber
  • ez_texting
Тип оповещения.
Типы 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
строка
По умолчанию:
"30s"
Можно использовать, когда type=webhook.
Тайм-аут выполнения JavaScript-кода в webhook_script.
Возможные значения от 1 до 60 секунд.

Примечания

Примечание

  • Если вы используете login_password=zabbix, слово «zabbix» заменяется на «****» во всех выходных данных модуля, потому что login_password использует no_log. Подробнее см. данный вопрос-ответ.

Примеры

- 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}"

Авторы

  • Рубен Цирунян (@rubentsirunyan)

© 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_mediatype_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API