postfix monitoring mailgraph
par julien, juillet 2007
Mailgraph est un système très simple qui permet de monitorer postfix à partir de ses fichiers de logs. Par défaut, Postfix stocke ses logs dans /var/log/mail.info. Mailgraph va lire le contenu de ce fichier et en récupérer des infos sympa à afficher. C'est simple, rapide et pratique alors pourquoi se priver ;)
Mailgraph existe sous forme de paquet sous Debian Etch, vous pouvez donc le récupérer ainsi. Par expérience, pour tout ce qui touche aux applis web, je download directement l'archive et je fais la config d'Apache moi-même. Je vais donc expliquer cette méthode.
Tout d'abord, récupérez la dernière version de Mailgraph ici : http://mailgraph.schweikert.ch/pub/ (pour moi, c'était la 1.13). Et décompressez la à la racine WWW de votre serveur. Pensez au passage à faire un chown pour attribuer les fichier à www-data.
En premier lieu, éditez le script perl principal 'mailgraph.pl' pour adapter les chemins à votre architecture :
{...........} my $daemon_logfile = '/var/log/mailgraph.log'; my $daemon_pidfile = '/var/run/mailgraph.pid'; my $daemon_rrd_dir = '/var/www/mailgraph/'; # global variables my $logfile; my $rrd = "/var/www/mailgraph/mailgraph.rrd"; my $rrd_virus = "/var/www/mailgraph/mailgraph_virus.rrd"; {...........}
Et déplacez ce script dans /usr/sbin (ou tout autre répertoire prévu pour ça).
# mv mailgraph.pl /usr/sbin/
Déplacez le script 'mailgraph-init' dans /etc/init.d/mailgraph et éditez le pour y adapter les variables.
# vim /etc/init.d/mailgraph {..............} PATH=/bin:/usr/bin MAILGRAPH_PL=/usr/sbin/mailgraph.pl MAIL_LOG=/var/log/mail.info PID_FILE=/var/run/mailgraph.pid RRD_DIR=/var/lib {..............}
On fait également un lien de ce script vers le répertoire de démarrage :
# ln -s /etc/rc2.d/S92mailgraph /etc/init.d/mailgraph
Et enfin, installez les packages rrdtools, librrds-perl et libfile-tail-perl :
apt-get install libfile-tail-perl librrds-perl rrdtool
Il ne reste plus qu'a lancer le daemon avec la commande
# /etc/init.d/mailgraph start
C'est le script 'mailgraph.cgi' que l'on va appeler au travers d'apache pour afficher les graphs. De fait, il faut régler Apache pour qu'il affiche les CGI. Les options à rajouter dans votre virtual host sont les suivantes :
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch AddHandler cgi-script .cgi AddType application/x-httpd-cgi .cgi
Assurez-vous également que le module CGI d'apache est installé et chargé. Je n'ai pas la config complète sous la main car j'ai installé mailgraph sur un système qui été déjà réglé tel quel… désolé.
Il reste à relancer apache et à admirer le résultat… pas très probant au début car il faut laisser le temps au système de collecter des logs, mais pour le temps que ça prend à l'installer, je trouve le résultat plus que honnête !
~~DISCUSSION~~