Monitorer la charge de Postfix avec 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 ;)

Installer Mailgraph

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

Configurer Apache pour les CGI

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~~

fr/ressources/dossiers/postfix/monitoring.txt · Last modified: 2011/03/16 01:41 (external edit)
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0