Мониторить почтовый сервер - ну во первых всегда полезно знать как живёт сервер, а во вторых нагрузку хоть посмотрим
Решение:
Решение было найдено тут http://www.zabbix.com/wiki/howto/monito ... ingpostfix
Реализация:
Для начала поставим нужные нам программки...
Код: Выделить всё
www# cd /usr/ports/mail/pflogsumm
www# make install clean
www# cd /usr/ports/security/logcheck
www# make install clean
Код: Выделить всё
www# touch /usr/local/etc/zabbix/zabbix-postfix.sh
www# chmod +x /usr/local/etc/zabbix/zabbix-postfix.sh
Код: Выделить всё
#!/usr/local/bin/bash
MAILLOG=/var/log/maillog
DAT1=/tmp/zabbix-postfix-offset.dat
#DAT2=$(mktemp)
DAT2=/tmp/123
PFLOGSUMM=/usr/local/bin/pflogsumm
ZABBIX_CONF=/usr/local/etc/zabbix/zabbix_agentd.conf
function zsend {
/usr/local/bin/zabbix_sender -c $ZABBIX_CONF -k $1 -o $2
}
echo
/usr/local/sbin/logtail -f$MAILLOG -o$DAT1 | $PFLOGSUMM -h 0 -u 0 --bounce_detail=0 --deferral_detail=0 --reject_detail=0 --no_no_msg_size --smtpd_warning_detail=0 > $DAT2
zsend pfreceived `grep -m 1 received $DAT2|cut -f1 -d"r"`
zsend pfdelivered `grep -m 1 delivered $DAT2|cut -f1 -d"d"`
zsend pfforwarded `grep -m 1 forwarded $DAT2|cut -f1 -d"f"`
zsend pfdeferred `grep -m 1 deferred $DAT2|cut -f1 -d"d"`
zsend pfbounced `grep -m 1 bounced $DAT2|cut -f1 -d"b"`
zsend pfrejected `grep -m 1 rejected $DAT2|cut -f1 -d"r"`
zsend pfrejectwarnings `grep -m 1 "reject warnings" $DAT2|cut -f1 -d"r"`
zsend pfheld `grep -m 1 held $DAT2|cut -f1 -d"h"`
zsend pfdiscarded `grep -m 1 discarded $DAT2|cut -f1 -d"d"`
zsend pfbytesreceived `grep -m 1 "bytes received" $DAT2|cut -f1 -d"b"`
zsend pfbytesdelivered `grep -m 1 "bytes delivered" $DAT2|cut -f1 -d"b"`
rm $DAT2
Код: Выделить всё
*/30 * * * * root /usr/local/etc/zabbix/zabbix-postfix.sh >/dev/null
Темплейт: Результат: