Postfix Monitoring · 4 min read · Sep 28, 2025
Surveillance de Postfix avec Mailgraph et pflogsumm sur Debian Etch
Surveillance de Postfix avec Mailgraph et pflogsumm sur Debian Etch
Version 1.0
Auteur : Falko Timme
Cet article décrit comment vous pouvez surveiller votre serveur de messagerie Postfix avec les outils Mailgraph et pflogsumm. Mailgraph crée des graphiques quotidiens, hebdomadaires, mensuels et annuels des e-mails envoyés, reçus, rebondis et rejetés, ainsi que des spams et des virus, si SpamAssassin et ClamAV sont intégrés à Postfix (par exemple, en utilisant amavisd-new). Ces graphiques peuvent être consultés avec un navigateur, tandis que pflogsumm (“Postfix Log Entry Summarizer”) peut être utilisé pour envoyer des rapports d’activité de Postfix par e-mail.
Dans ce qui suit, je vais décrire comment installer et configurer Mailgraph et pflogsumm sur Debian Etch.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
Dans ce tutoriel, mon système Linux a l’adresse IP 192.168.0.100 et héberge le site web http://www.example.com avec le document racine /var/www/www.example.com/web et un répertoire cgi-bin de /var/www/www.example.com/cgi-bin, et j’enverrai les rapports pflogsumm à l’adresse e-mail [email protected].
2 Mailgraph
Debian Etch a des paquets pour Mailgraph et pflogsumm, donc nous les installons simplement. Nous installons également rrdtool qui stocke les données nécessaires à Mailgraph pour dessiner les graphiques :
apt-get install rrdtool mailgraph
Maintenant, nous configurons le paquet mailgraph comme ceci :
dpkg-reconfigure mailgraph
Vous serez invité à répondre à quelques questions :
Mailgraph doit-il démarrer au démarrage ? <– Oui
Fichier journal utilisé par mailgraph : <– /var/log/mail.log
Ensuite, il y a aussi cette question :
Compter le courrier entrant comme courrier sortant ?
Si vous avez intégré un filtre de contenu comme amavisd (pour le filtrage des spams et des virus) dans Postfix (comme dans ce tutoriel : Intégration d’amavisd-new dans Postfix pour le filtrage des spams et des virus), alors répondez Non pour éviter que Mailgraph ne compte vos e-mails deux fois (car Postfix livre les e-mails à amavisd qui les renvoie ensuite à Postfix après un scan réussi). Si vous n’utilisez pas de filtre de contenu, alors répondez Oui.
Pendant l’installation, les liens de démarrage du système pour Mailgraph sont créés automatiquement, et Mailgraph est également démarré automatiquement, donc nous n’avons pas besoin de le démarrer manuellement.
Maintenant, nous devons copier le script mailgraph.cgi (qui dessine les graphiques et crée la sortie pour nos navigateurs web) dans le répertoire cgi-bin de notre site web www.example.com :
cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin
Le script est déjà exécutable, donc nous n’avons pas besoin de le chmod. Si vous utilisez suExec pour le site web www.example.com, vous devez chown mailgraph.cgi au propriétaire et au groupe appropriés.
Maintenant, dirigez votre navigateur vers http://www.example.com/cgi-bin/mailgraph.cgi, et vous devriez voir quelques graphiques. Bien sûr, il doit y avoir des e-mails passant par votre système avant que vous ne voyiez les premiers résultats, alors soyez patient.
Après un certain temps, vos graphiques pourraient ressembler à ceci (la sortie suivante est personnalisée, donc elle ne ressemble pas exactement à la vôtre) :

Statistiques quotidiennes.

Statistiques hebdomadaires.

Statistiques mensuelles.

Statistiques annuelles.
Veuillez noter : Mailgraph signalera les spams et les virus uniquement si vous avez intégré un filtre de contenu comme amavisd-new dans Postfix qui est configuré pour utiliser SpamAssassin et ClamAV pour marquer les e-mails de spam et de virus. Si vous ne le faites pas, vous verrez toujours des graphiques, mais sans le rapport de spam et de virus.
3 pflogsumm
Pour installer pflogsumm, nous exécutons
apt-get install pflogsumm
Nous voulons que pflogsumm soit exécuté par un job cron chaque jour et envoie le rapport à [email protected]. Par conséquent, nous devons configurer notre système pour qu’il écrive un fichier journal de courrier pendant 24 heures, puis démarre le prochain journal de courrier afin que nous puissions alimenter l’ancien journal de courrier à pflogsumm. Par conséquent, nous configurons logrotate (c’est le programme qui fait tourner les fichiers journaux de notre système) comme ceci : ouvrez /etc/logrotate.conf et ajoutez le passage suivant après la ligne # les journaux spécifiques au système peuvent être configurés ici :
vi /etc/logrotate.conf
| [...] # les journaux spécifiques au système peuvent être configurés ici /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |
Il y a un script logrotate dans /etc/cron.daily. Ce script est appelé chaque jour entre 06h00 et 07h00. Avec la configuration que nous venons de faire, il copiera le journal Postfix actuel /var/log/mail.log vers /var/log/mail.log.0 et le compressera, et le fichier compressé sera /var/log/mail.log.0.gz. Il créera également un nouveau /var/log/mail.log vide dans lequel Postfix pourra enregistrer pour les prochaines 24 heures.
Maintenant, nous créons le script /usr/local/sbin/postfix_report.sh qui invoque pflogsumm et lui fait envoyer le rapport à [email protected] :
vi /usr/local/sbin/postfix_report.sh
| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gunzip /var/log/mail.log.0.gz pflogsumm /var/log/mail.log.0 | formail -c -I"Subject: Statistiques de Mail" -I"From: pflogsumm@localhost" -I"To: [email protected]" -I"Received: from www.example.com ([192.168.0.100])" | sendmail [email protected] gzip /var/log/mail.log.0 exit 0 |
Nous devons rendre ce script exécutable :
chmod 755 /usr/local/sbin/postfix_report.sh
Ensuite, nous créons un job cron qui appelle le script tous les jours à 07h00 :
crontab -e
| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |
Cela enverra le rapport à [email protected]. Cela ressemble à ceci dans un client de messagerie :

4 Liens
- Mailgraph : http://people.ee.ethz.ch/~dws/software/mailgraph
- pflogsumm : http://jimsun.linxnet.com/postfix_contrib.html
- RRDTool : http://oss.oetiker.ch/rrdtool
- Postfix : http://www.postfix.org
- Debian : http://www.debian.org
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.