Этот тип оповещений полезен для выполнения HTTP вызовов с использованием пользовательского кода JavaScript для прямой интеграции с внешними системами, такими как системы поддержки, чаты или мессенджеры. Вы можете импортировать интеграции, поставляемые Zabbix, или создать свою собственную интеграцию с нуля.
Доступны следующие интеграции, которые позволяют использовать подготовленные способы оповещения вебхук для отправки оповещений Zabbix в:
В дополнение к перечисленным здесь сервисам, Zabbix можно интегрировать с Spiceworks (вебхук не требуется). Чтобы преобразовать оповещения Zabbix в тикеты Spiceworks, используйте способ оповещений e-mail и введите e-mail адрес службы поддержки Spiceworks (например, [email protected]) в настройках предусмотренного для этого пользователя Zabbix.
Чтобы начать использовать интеграцию вебхук:
templates/media
загруженной версии Zabbix или загрузите его с git репозитория Zabbix.Чтобы создать пользовательский вебхук с нуля:
Вкладка Способ оповещения содержит различные атрибуты конкретно для этого способа оповещений:
Все обязательные поля ввода отмечены красной звездочкой.
Следующие параметры уникальны для способов оповещений на основе вебхук:
Параметр | Описание |
---|---|
Параметры | Укажите переменные вебхук в виде пар атрибутов и значений. По уже предварительно добавленным вебхукам список параметров зависит от сервиса. Для информации о параметрах проверьте файл Readme.md вебхука. По новым вебхукам некоторые переменные включены по умолчанию (URL: <пусто>, HTTPProxy: <пусто>, Кому: {ALERT.SENDTO}, Тема: {ALERT.SUBJECT}, Сообщение: { ALERT.MESSAGE}), вы можете сохранить их или удалить. В параметрах вебхуков поддерживаются пользовательские макросы, все макросы, которые поддерживаются в оповещениях о проблемах, а также макросы {ALERT.SENDTO}, {ALERT.SUBJECT} и {ALERT.MESSAGE}. Если вы указываете прокси-сервер HTTP, поле поддерживает те же функции, что поле HTTP прокси настройки элемента данных. Строка прокси может иметь префикс [схема]:// , чтобы можно было указать, какой тип прокси будет использоваться (например, https, socks4, socks5; смотрите документацию). |
Скрипт | Введите код JavaScript в блоке, который появляется при нажатии на поле параметра (или на кнопку просмотра/изменения рядом с ним). Код выполнит операцию вебхука. Скрипт - это код функции, который принимает пары "параметр - значение". Значения необходимо преобразовать в объекты JSON, используя метод JSON.parse(), например var params = JSON.parse(value); .Этот код имеет доступ ко всем параметрам, он может выполнять запросы HTTP GET, POST, PUT и DELETE и управлять HTTP-заголовками и телом запроса. Скрипт должен содержать оператор возврата (return), в противном случае он не пройдет проверку. Код может возвращать состояние OK вместе с необязательным списком тегов и значений тегов (смотрите опцию Обработка тегов ) или строку с ошибкой. Обратите внимание, что скрипт выполняется только после создания оповещения. Если скрипт настроен на возврат и обработку тегов, эти теги не будут раскрыты в макросах {EVENT.TAGS} и {EVENT.RECOVERY.TAGS} в изначальном сообщении о проблеме и в сообщениях о восстановлении, потому что скрипт еще не успел запуститься. Смотрите также: Руководство по разработке вебхук, Примеры скриптов вебхук, Дополнительные объекты JavaScript. |
Время ожидания | Время ожидания выполнения JavaScript (1-60с, по умолчанию 30с). Поддерживаются суффиксы времени, например, 30s, 1m. |
Обработка тегов | Отметьте для обработки возвращаемых значений свойств JSON в виде тегов. Эти теги добавляются к уже существующим (если имеются) тегам событий о проблемах в Zabbix. Если вебхук использует теги (опция Обработка тегов выбрана), вебхук всегда должен возвращать JSON объект, содержащий по крайней мере пустой объект тегов: var result = {tags: {}}; .Примеры тегов, которые можно вернуть: Jira ID: PROD-1234, Responsible: John Smith, Processed:<no value> и т.д. |
Добавить пункт в меню события | Отметьте, чтобы добавить пункт в меню события для связи с созданной внешней задачей. Если отмечено, вебхук не должен использоваться для отправки оповещений разным пользователям (вместо этого рассмотрите возможность создания выделенного пользователя) или в нескольких действиях оповещений, которые связаны с одним событием о проблеме. |
Имя пункта меню | Укажите название пункта меню. Поддерживается макрос {EVENT.TAGS.<имя тега>}. Это поле обязательно, только если выбрана опция Добавить пункт в меню события. |
URL пункта меню | Укажите основной URL адрес пункта меню. Поддерживается макрос {EVENT.TAGS.<имя тега>}. Это поле является обязательным, только если выбрана опция Добавить пункт в меню события. |
Смотрите также общие параметры способов оповещений для получения подробной информации о настройке сообщений по умолчанию и опциях обработки оповещений.
Даже если вебхук не использует сообщения по умолчанию, все же необходимо задать шаблоны сообщений для типов операций, используемые этим вебхуком.
Чтобы проверить настройки способа оповещения посредством вебхука:
По умолчанию проверка вебхука выполняется по параметрам, заданным при настройке. Однако для проверки значения можно поменять. Замена или удаление значений в окне проверки затрагивает только проверку, реальные значения вебхука останутся без изменений.
Чтобы посмотреть записи в журнале, относящиеся к проверке способа оповещения, не закрывая окно проверки, нажмите Открыть журнал (он будет открыт в новом окне).
Если проверка вебхука успешна:
Если проверка вебхука неуспешна:
После того как способ оповещения настроен, перейдите в раздел Пользователи → Пользователи и укажите вебхук для существующего пользователя или создайте нового пользователя для использования вебхука. Шаги по настройке оповещений пользователей, общие для всех способов оповещений, описаны на странице Способов оповещений.
Если вебхук использует теги для хранения задачи\ID сообщения, избегайте назначение этого же вебхука способом оповещения разным пользователям, так как это может вызвать ошибки вебхука (применимо к большинству вебхуков, которые используют опцию Добавить пункт в меню события). В этом случае лучше всего создать отдельного пользователя для вебхука:
При настройке действия на оповещение добавьте этого пользователя в поле Отправка пользователям в Деталях операции, тогда Zabbix будет использовать вебхук для оповещений из этого действия.
Действия определяют, какие оповещения следует отправлять через вебхук. Шаги для настройки действий с использованием вебхука абсолютно такие же, как и для всех остальных способов оповещения за некоторыми исключениями: