Superviser Postfix pour éviter par exemple que des emails restent bloquer sans s'en appercevoir.
Recette: un zabbix, un template, un petit script et l'erreur est corrigée.
Les items, 2 triggers et un graph détaillant les items. Ce template est ccompatible Zabbix 2.0
UserParameter=postfix.mailq,mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
Recette: un zabbix, un template, un petit script et l'erreur est corrigée.
Zabbix Postfix Template
Template Zabbix-PostfixLes items, 2 triggers et un graph détaillant les items. Ce template est ccompatible Zabbix 2.0
Installer les outils
Installer sur les serveurs les outils suivants : pflogsumm et logcheckConfig Zabbix agent
Pour récupérer l'était de la queue, on déclare un Userparmeter qui exécutera la commande suivante ;UserParameter=postfix.mailq,mailq | grep -v "Mail queue is empty" | grep -c '^[0-9A-Z]'
Script Zabbix-Postfix
Créer le script suivant qui une fois les logs analyser, envoi les données au moyen de zabbix_sender au serveur qui actualisera les items correspodants.
#!/bin/bash +x
PFLOGSUMM=/usr/sbin/pflogsumm.pl
MAILLOG=/var/log/mail.log
LOGTAIL=/usr/sbin/logtail
DAT1=/tmp/zabbix-postfix-offset.dat
DAT2=$(mktemp)
ZABBIX_SENDER=/usr/bin/zabbix_sender
ZABBIX_HOST=monserver #même nom que dans Zabbix
ZABBIX_SERVER=monserverzabbix.com
ZABBIX_CONF=/etc/zabbix/zabbix_agentd.conf
DEBUG=0
function zsend {
key="postfix.`echo "$1" | tr ' -' '_' | tr '[A-Z]' '[a-z]' | tr -cd [a-z_]`"
value=`grep -m 1 "$1" $DAT2 | awk '{print $1}'`
[ ${DEBUG} -ne 0 ] && echo "Send key \"${key}\" with value \"${value}\"" >&2
$ZABBIX_SENDER -s $ZABBIX_HOST -z $ZABBIX_SERVER -c $ZABBIX_CONF -k "${key}" -o "${value}" 2>&1 >/dev/null
}
$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 received
zsend delivered
zsend forwarded
zsend deferred
zsend bounced
zsend rejected
zsend held
zsend discarded
zsend "reject warnings"
zsend "bytes received"
zsend "bytes delivered"
zsend senders
zsend recipients
rm $DAT2
Automatiser le script
Toutes les minutes
* * * * * /etc/zabbix/zabbix-postfix.sh
* * * * * /etc/zabbix/zabbix-postfix.sh
Astuce supprimer les emails bloqués en queue
# perl -e 'foreach (`postqueue -p`) {`postsuper -d $1` if /^([0-9A-Z]+)/}'
http://www.zabbix.com/wiki/howto/monitor/mail/postfix/monitoringpostfix
Remerciements
http://blog.hbis.fr/2012/03/30/zabbix-postfix_monitoring/http://www.zabbix.com/wiki/howto/monitor/mail/postfix/monitoringpostfix
Aucun commentaire:
Enregistrer un commentaire