Zabbix отсылка почты с авторизацией

Одним из больших минусов системы мониторинга Zabbix является неумение отсылать почту через почтовые сервера с авторизацией. Решений данной проблемы несколько, в данной статье приводится готовый рецепт настройки для системы на базе CentOS 6.3. Мы будем отсылать почту через скрипт, что несколько безопаснее и надёжнее, чем отсылка через локально установленный почтовый сервер.

Настройки в консоли сервера Zabbix.

1. Первым делом устанавливаем SSMTP – простой консольный отсыльщик.

yum install ssmtp

2. После установки правим файл /etc/ssmtp/ssmtp.conf

nano /etc/ssmtp/ssmtp.conf

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

mailhub=[ваш почтовый сервер]:[порт]
UseSTARTTLS=[Значения YES или NO]
AuthUser=[Имя пользователя]
AuthPass=[Пароль пользователя]
FromLineOverride=YES

Если в вашем конфигурационном файле уже есть какая-то из этих строк, то исправляем значение в ней. Квадратные скобки в конфигурационном файле не требуются, они только показывают обязательные для установки значения. Последний параметр строго YES, он позволяет менять отправителя, что сделает наши письма более наглядными.

3. Переходим к просмотру файла конфигурации Zabbix сервера, по умолчанию: /etc/zabbix/zabbix_server.conf. В данном файле находим параметр AlertScriptsPath и записываем путь указанный в нём. По умолчанию путь: /usr/lib/zabbix/alertscripts

4. Переходим в указанную папку и создаём файл zabbix_sendmail.sh, содержание скрипта следующее:

#!/bin/sh

export smtpemailfrom=[почтовый адрес вашей системы мониторинга, аналогичен адресу в ssmtp]
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3

echo "Subject: $zabbixsubject" > /tmp/mymailinput
echo "Content-Type: text/plain; charset="utf-8"" >> /tmp/mymailinput
echo "From: \"Zabbix Monitor\"<$smtpemailfrom>" >> /tmp/mymailinput
echo "" >> /tmp/mymailinput
echo "$zabbixbody" >> /tmp/mymailinput

/usr/sbin/ssmtp $zabbixemailto -F $smtpemailfrom $zabbixemailto < /tmp/mymailinput

5. Скрипту нужно установить право на запуск:

chmod 755 zabbix_sendmail.sh

6. Тестируем работу скрипта в консоли, для этого выполняем:

/usr/lib/zabbix/alertscripts/zabbix_sendmail.sh [почтовый адрес куда шлём] [тема] [Сообщение]

Если вы получили письмо, то всё хорошо. Если нет, то рекомендую в скрипте вместо /usr/sbin/ssmtp поставить /usr/sbin/ssmtp –v и повторить попытку. В таком случае в консоли вы увидите вывод процесса обмена с почтовиком и все возникающие ошибки. Кстати, если оставить этот параметр и на боевую эксплуатацию, то весь лог вывода скрипта будет записываться в лог сервера мониторинга. В зависимости от интенсивности рассылки почтовых уведомлений это может быть полезной, а может быть вредной информацией.

7. Внимание! После теста скрипта обязательно требуется удалить файл /tmp/mymailinput, так как Заббикс не может сам удалить файл, созданный из-под другой учётной записи! (подразумеваются правильные настройки безопасности).

Настройки в веб интерфейсе сервера Zabbix.

1. Переходим в раздел Администрирование -> Медиа

Переходим в раздел Администрирование -> Медиа

2. Нажимаем кнопку создать новый тип.

Нажимаем кнопку создать новый тип

3. Заполняем поля в соответствии со скриншотом, сохраняем.

Заполняем поля в соответствии со скриншотом, сохраняем

4. Переходим в раздел Администрирование -> Пользователи, выбираем нужного нам пользователя, в его закладках переходим к разделу Медиа

Администрирование -> Пользователи

5. Нажимаем кнопку Добавить

Раздел медиа

6. В появившемся окне выбираем график отправки почты сотруднику, типы угроз. Нажимаем сохранить.

График отправки почты

На этом настройка завершена. 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *