3 Пользовательские скрипты оповещений

Обзор

Если вы не удовлетворены существующими способами оповещений для отправки оповещений, то есть альтернативный способ для этого. Вы можете написать скрипт, который будет обрабатывать оповещение вашим способом.

Скрипты оповещений выполняются на стороне Zabbix сервера. Эти скрипты размещаются в директории, которая указывается в параметре AlertScriptsPath в файле конфигурации Zabbix сервера.

Пример пользовательского скрипта оповещения:

#!/bin/bash
       
       to=$1
       subject=$2
       body=$3
       
       cat <<EOF | mail -s "$subject" "$to"
       $body
       EOF

Начиная с версии 3.4, Zabbix проверяет код завершения выполненных команд и скриптов. Любой код, отличный от 0, рассматривается как ошибка выполнения команды. В этом случае Zabbix попытается снова выполнить команду, которая завершилась с ошибкой.

Переменные среды не сохраняются и не создаются для скрипта, поэтому их необходимо обрабатывать в явном виде.

Настройка

Для настройки пользовательского скрипта оповещения в качестве способа оповещений:

  • Перейдите в Администрирование → Способы оповещений
  • Нажмите на Создать способ оповещения

Вкладка Способ оповещений содержит общие атрибуты способа оповещения:

Все обязательные поля ввода отмечены красной звёздочкой.

Следующие параметры уникальны для способов оповещений на основе скриптов:

Параметр Описание
Имя скрипта Введите имя файла скрипта (например, notification.sh), который расположен в директории, указанной в параметре AlertScriptsPath файла конфигурации сервера.
Параметры скрипта Добавьте к скрипту параметры командной строки.
В параметрах скриптов поддерживаются макросы {ALERT.SENDTO}, {ALERT.SUBJECT} и {ALERT.MESSAGE}.
Индивидуальная настройка параметров скриптов поддерживается с Zabbix 3.0.

Смотрите также общие параметры способов оповещений для получения подробной информации о настройке сообщений по умолчанию и опциях обработки оповещений.

Даже если скрипт оповещения не использует сообщения по умолчанию, необходимо задать шаблоны сообщений по типам операций, которые используются в скрипте, в противном случае оповещение не будет отправлено.

Поскольку с Zabbix 3.4.0 реализована параллельная обработка способов оповещения, важно отметить, что при наличии более одного способа оповещения с типом скрипт, эти скрипты могут обрабатываться процессами оповещения параллельно. Общее количество процессов оповещения ограничено параметром StartAlerters.

Оповещение пользователей

После того, как способ оповещения настроен, перейдите в раздел Администрирование → Пользователи и измените профиль пользователя, назначьте ему адресата по этому способу оповещения. Шаги по настройке оповещений пользователей, общие для всех способов оповещений, описаны на странице Способов оповещений.

Обратите внимание, когда настраиваете оповещение пользователя, поле Отправлять на не может быть пустым. Если это поле не используется в скрипте оповещений, введите любую комбинацию поддерживаемых символов для обхода требования наличия адресата.