Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

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 попытается снова повторить выполнение, которое завершилось с ошибкой.

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

Настройка

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

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

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

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

Параметр Описание
Имя скрипта Введите имя скрипта.
Параметры скрипта Добавтие к скрипту параметры командной строки.
Макросы {ALERT.SENDTO}, {ALERT.SUBJECT} и {ALERT.MESSAGE} поддерживаются в параметрах скрипта.
Индивидуальная настройка параметров скриптов поддерживается начиная с Zabbix 3.0.

Вкладки Шаблоны сообщений и Опции содержат настройки обработки оповещений, которые являются общими для всех способов оповещений.

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

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

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

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

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