1. Email

Обзор

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

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

Настройка

Чтобы настроить электронную почту в качестве типа носителя:

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

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

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

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

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

Параметр Описание
Поставщик электронной почты Выберите поставщика электронной почты: Generic SMTP, Gmail, Gmail relay, Office365 или Office365 relay.
Если выбрать вариант, связанный с Gmail или Office365, потребуется указать только адрес электронной почты отправителя и пароль; такие параметры, как SMTP server, SMTP server port, SMTP helo и Connection security, будут автоматически заполнены Zabbix. См. также: Автоматизированные типы носителей Gmail/Office365.
SMTP server Укажите SMTP-сервер для обработки исходящих сообщений.
Это поле доступно, если в качестве поставщика электронной почты выбран Generic SMTP.
SMTP server port Укажите порт SMTP-сервера для обработки исходящих сообщений.
Это поле доступно, если в качестве поставщика электронной почты выбран Generic SMTP.
Email Указанный здесь адрес будет использоваться в качестве адреса From для отправляемых сообщений.
Поддерживается добавление отображаемого имени отправителя (например, "Zabbix_info" в Zabbix_info <[email protected]> на приведённом выше снимке экрана) вместе с фактическим адресом электронной почты.
В Zabbix существуют некоторые ограничения на отображаемые имена в сообщениях электронной почты по сравнению с требованиями RFC 5322, что показано в следующих примерах:
Допустимые примеры:
[email protected] (только адрес электронной почты, угловые скобки использовать не требуется)
Zabbix_info <[email protected]> (отображаемое имя и адрес электронной почты в угловых скобках)
∑Ω-monitoring <[email protected]> (символы UTF-8 в отображаемом имени)
Недопустимые примеры:
Zabbix HQ [email protected] (отображаемое имя указано, но адрес электронной почты не заключён в угловые скобки)
"Zabbix@<H(comment)Q>" <[email protected]> (хотя это допустимо согласно RFC 5322, экранированные пары и комментарии не поддерживаются в сообщениях электронной почты Zabbix)
SMTP helo Укажите корректное значение SMTP helo, обычно имя домена.
Если поле пусто, будет отправлено доменное имя электронной почты (то есть часть после @ в поле Email). Если получить доменное имя невозможно, в журнал будет записано предупреждение уровня отладки, а в качестве домена для команды HELO будет отправлено имя узла сети сервера.
Это поле доступно, если в качестве поставщика электронной почты выбран 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 не поддерживается для поставщика электронной почты Office365 relay.
Username Имя пользователя для аутентификации.
Устанавливает значение CURLOPT_USERNAME.
Поддерживаются пользовательские макросы.
Password Пароль для аутентификации.
Устанавливает значение CURLOPT_PASSWORD.
Поддерживаются пользовательские макросы.
Введённое здесь значение экспортируется как есть при экспорте конфигурации типа носителя. Чтобы не раскрывать конфиденциальные учётные данные в экспортируемых файлах, используйте пользовательский макрос (например, {$EMAIL_SMTP_PASSWORD}) вместо буквального пароля - будет экспортирована ссылка на макрос, а секретное значение следует настроить или перенастроить в целевой системе.
OAuth tokens Нажмите Configure, чтобы настроить параметры получения токенов OAuth в новом окне.
Это поле доступно только в том случае, если в поле Authentication выбран вариант "OAuth".
Message format Выберите формат сообщения:
HTML - отправлять в формате HTML
Plain text - отправлять в виде обычного текста

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

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

OAuth tokens

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

Client secret экспортируется в открытом виде при экспорте конфигурации типа медиа email.

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 для обмена кода авторизации на токены доступа и обновления.
Token parameters Введите параметры для токена доступа.

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