суббота, 12 апреля 2014 г.

zabbix: учим слать почту через сервера с авторизацией

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



Метод 1)
Поскольку используется штатная php функция mail, надо настроить систему, spf у домена итд. Например, если хост zabbix.site.ru, то в spf внешний айпи этого сервера у site.ru должен быть вписан. Так нельзя отправить с адреса вида my@mail.ru. Если же хост -- что-то типа zabbix.local, и просто поменять hostname на внешний нельзя/проблемно, то без плясок ничего точно не заработает. Но можно несколько изменить поведение. Например, sendmail: http://dragonflybsd.blogspot.ru/2014/04/sendmail-hostname.html (штатный для centos)

Метод 2)
пишем сервер localhost и поднимаем любой привычный почтовик, можно ssmtp. sendmail тогда советую сразу сносить, этот монстр прошлого века очень сложный и невменяемый.

Метод 3)
в zabbix_server.conf проверяем AlertScriptsPath, если закомментировано/отсутствует -- добавляем, например в /var/lib/zabbixsrv/alertscripts (в CentOS 5)
туда кладём mail.sh
#!/bin/sh
to=$1
subject=$2
body=$3

cat << EOF | /usr/bin/mail -s "$subject" "$to"
$body
.
EOF

и выставляем права на исполнение

метод отправки script, имя скрипта mail.sh

Другой вариант
#!/bin/sh

export smtpemailfrom=zabbix@yourdomain.com
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
export smtpserver=yoursmtpserver.com
export smtplogin=smtpuser
export smtppass=smtppassword

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:25 -xu $smtplogin -xp $smtppass

sendEmail надо ставить дополнительно, в debian этот пакет так и зовется, в центоси не обнаружено.

При проблемах со скриптами добавляем PATH -- переменные среды в скрипт не передаются.

Метод 4)
Переписываем zabbix - часть работы с почтой, чтобы он научился авторизации

Линки
http://forum.oszone.net/post-2249268.html
https://www.zabbix.com/forum/showthread.php?t=1323
https://www.zabbix.com/documentation/ru/2.0/manual/config/notifications/media/script

Комментариев нет:

Отправить комментарий