1. Email

Обзор

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

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

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

Чтобы настроить email как тип медиа:

  1. Перейдите в Alerts > Media types.
  2. Нажмите Create media type (или нажмите Email в списке предопределенных типов медиа).

Вкладка Media type содержит общие атрибуты типа медиа:

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

Пароль экспортируется в открытом виде при экспорте конфигурации типа медиа 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 должен быть скомпилирован с опцией компиляции --with-libcurl, для которой требуется libcurl (см. требования к сервер для подробностей о версиях).

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

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 этому пользователю. Шаги по настройке оповещений пользователей, общие для всех способов оповещений, описаны на странице Способы оповещений.