Электронная почта

Обзор

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

Несколько оповещений по одному событию группируются вместе в одной ветке email сообщений.

Конфигурация

Чтобы настроить email как тип оповещения:

  1. Перейдите в Оповещения > Типы оповещений.
  2. Нажмите Создать тип оповещения (или нажмите Email в списке предопределенных типов оповещений).

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

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

Пароль экспортируется в открытом виде при экспорте конфигурации типа оповещения email.

Следующие параметры специфичны для типа оповещения email:

Parameter Description
Email provider Выберите поставщика email: Generic SMTP, Gmail, Gmail relay, Office365 или Office365 relay.
Если вы выберете параметры, связанные с Gmail/Office365, вам нужно будет указать только адрес email отправителя и пароль; такие параметры, как SMTP server, SMTP server port, SMTP helo и Connection security, будут автоматически заполнены Zabbix. См. также: Автоматизированные типы оповещений Gmail/Office365.
SMTP server Укажите SMTP-сервер для обработки исходящих сообщений.
Это поле доступно, если в качестве поставщика email выбран Generic SMTP.
SMTP server port Укажите порт SMTP-сервера для обработки исходящих сообщений.
Это поле доступно, если в качестве поставщика email выбран Generic SMTP.
Email Адрес, указанный здесь, будет использоваться как адрес From для отправляемых сообщений.
Поддерживается добавление отображаемого имени отправителя (например, "Zabbix_info" в Zabbix_info zabbix\@company.com на скриншоте выше) вместе с фактическим адресом email.
В Zabbix для email существуют некоторые ограничения на отображаемые имена по сравнению с тем, что разрешено RFC 5322, как показано в примерах:
Допустимые примеры:
zabbix\@company.com (только адрес email, угловые скобки не нужны)
Zabbix_info zabbix\@company.com (отображаемое имя и адрес email в угловых скобках)
∑Ω-monitoring zabbix\@company.com (символы UTF-8 в отображаемом имени)
Недопустимые примеры:
Zabbix HQ zabbix\@company.com (есть отображаемое имя, но адрес email не заключен в угловые скобки)
"Zabbix\@\<H(comment)Q\>" zabbix\@company.com (хотя это допустимо по RFC 5322, экранированные пары и комментарии в email Zabbix не поддерживаются)
SMTP helo Укажите корректное значение SMTP helo, обычно доменное имя.
Если поле пустое, будет отправлено доменное имя email (то есть то, что идет после @ в поле Email). Если получить доменное имя невозможно, в журнал будет записано предупреждение уровня debug, а в качестве домена для команды HELO будет отправлено имя хоста сервера.
Это поле доступно, если в качестве поставщика email выбран Generic SMTP.
Connection security Выберите уровень безопасности соединения:
None - не использовать опцию CURLOPT_USE_SSL
STARTTLS - использовать опцию CURLOPT_USE_SSL со значением CURLUSESSL_ALL
SSL/TLS - использование CURLOPT_USE_SSL необязательно
SSL verify peer Установите флажок, чтобы проверять SSL-сертификат SMTP-сервера.
Значение директивы конфигурации сервера "SSLCALocation" следует указать в CURLOPT_CAPATH для проверки сертификата.
Это задает параметр cURL CURLOPT_SSL_VERIFYPEER.
SSL verify host Установите флажок, чтобы проверять, что поле Common Name или поле Subject Alternate Name сертификата SMTP-сервера совпадает.
Это задает параметр cURL CURLOPT_SSL_VERIFYHOST.
Authentication Выберите уровень аутентификации:
None - параметры cURL не задаются
Username and password - подразумевает "AUTH=*", оставляя выбор механизма аутентификации на cURL
OAuth - аутентификация OAuth
Аутентификация OAuth не поддерживается для поставщика email Office365 relay.
Username Имя пользователя, используемое для аутентификации.
Это задает значение CURLOPT_USERNAME.
Поддерживаются макросы пользователя.
Password Пароль, используемый для аутентификации.
Это задает значение CURLOPT_PASSWORD.
Поддерживаются макросы пользователя.
Значение, введенное здесь, экспортируется как есть при экспорте конфигурации типа оповещения. Чтобы не раскрывать конфиденциальные учетные данные в экспортируемых файлах, используйте макрос пользователя (например, {$EMAIL_SMTP_PASSWORD}) вместо буквального пароля — ссылка на макрос будет экспортирована, а секретное значение должно быть (пере)настроено в целевой системе.
OAuth tokens Нажмите Configure, чтобы в новом окне задать параметры для получения OAuth tokens.
Это поле доступно только если в поле Authentication выбран вариант "OAuth".
Message format Выберите формат сообщения:
HTML - отправлять как HTML
Plain text - отправлять как обычный текст

Чтобы включить SMTP-аутентификацию, сервер Zabbix должен быть скомпилирован с опцией сборки --with-libcurl, для которой требуется libcurl (см. требования к серверу для подробностей о версиях).

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

Токены OAuth

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

Параметр Описание
Конечная точка перенаправления Введите URL веб-интерфейса Zabbix, на который сервис OAuth будет перенаправлять обратно после авторизации OAuth (используя формат https://<zabbix-frontend-url>/zabbix.php?action=oauth.authorize).
Для нового типа медиа email задается автоматически, если определен URL веб-интерфейса.
Client ID Введите уникальный идентификатор клиентского приложения, зарегистрированного на сервере авторизации OAuth.
Client secret Введите приватный секрет клиентского приложения, зарегистрированного на сервере авторизации OAuth.
Конечная точка авторизации Введите URL сервера авторизации OAuth для запроса авторизации пользователя.
Параметры авторизации Введите параметры для конечной точки авторизации.
Код авторизации Введите код авторизации:
Автоматически - код будет получен автоматически через страницу перенаправления
Вручную - введите код вручную, если автоматическое получение не удалось
Конечная точка токена Введите URL сервера авторизации OAuth для обмена кода авторизации на токены доступа и обновления.
Параметры токена Введите параметры для токена доступа.

Получение токенов OAuth имеет автоматизированные возможности для провайдеров электронной почты Gmail, Gmail relay и Office365. Требуется указать только значения параметров Конечная точка перенаправления, Client ID и Client secret. Zabbix автоматически заполнит остальные необходимые значения (см. Значения URL OAuth по умолчанию в зависимости от провайдера).

Получение токенов доступа и обновления OAuth

После отправки параметров OAuth:

  1. Открывается всплывающее окно браузера, перенаправляющее пользователя к Authorization endpoint.

  2. Пользователь авторизует Zabbix в сервисе OAuth.

  3. Сервис OAuth перенаправляет пользователя к действию веб-интерфейса Zabbix oauth.authorize с кодом авторизации и значением области действия.

  4. В ответ Zabbix выполнит запрос к Token endpoint, чтобы обменять код авторизации на токены доступа и обновления.

Тестирование

Чтобы проверить, что настроенный тип медиа для электронной почты работает корректно:

  1. Найдите нужный тип медиа для электронной почты в списке типов медиа.
  2. Нажмите Test в последнем столбце списка (откроется окно тестирования).
  3. Укажите адрес получателя в поле Send to, текст сообщения и, при необходимости, тему.
  4. Нажмите Test, чтобы отправить тестовое сообщение.

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

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

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