1. Email

Обзор

Чтобы настроить 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. См. также: Automated Gmail/Office365 media types.
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 server должен быть собран с опцией компиляции --with-libcurl, для которой требуется libcurl (см. требования к server для сведений о версиях).

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

OAuth tokens

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

Parameter Description
Redirection endpoint Введите URL веб-интерфейса Zabbix, на который служба OAuth будет перенаправлять ответ после авторизации OAuth (в формате https://<zabbix-frontend-url>/zabbix.php?action=oauth.authorize).
Он автоматически задается для нового типа медиа email, если определен URL веб-интерфейса.
Client ID Введите уникальный идентификатор клиентского приложения, зарегистрированного на сервере авторизации OAuth.
Client secret Введите закрытый секрет клиентского приложения, зарегистрированного на сервере авторизации OAuth.
Authorization endpoint Введите URL сервера авторизации OAuth для запроса авторизации пользователя.
Authorization parameters Введите параметры для конечной точки авторизации.
Authorization code Введите код авторизации:
Automatic - код будет получен автоматически через страницу перенаправления
Manual - введите код вручную, если автоматическое получение не удалось
Token endpoint Введите URL сервера авторизации OAuth для обмена кода авторизации на access и refresh tokens.
Token parameters Введите параметры для access token.

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

Получение access и refresh token OAuth

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

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

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

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

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

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

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

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

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

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

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