Postfix Monitoring · 4 min read · Sep 27, 2025
Monitoraggio di Postfix con Mailgraph e pflogsumm su Debian Lenny
Monitoraggio di Postfix con Mailgraph e pflogsumm su Debian Lenny
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questo articolo descrive come puoi monitorare il tuo server di posta Postfix con gli strumenti Mailgraph e pflogsumm. Mailgraph crea grafici giornalieri, settimanali, mensili e annuali delle email inviate, ricevute, rimbalzate e rifiutate e anche di spam e virus, se SpamAssassin e ClamAV sono integrati in Postfix (ad esempio utilizzando amavisd-new). Questi grafici possono essere accessibili tramite un browser, mentre pflogsumm (“Postfix Log Entry Summarizer”) può essere utilizzato per inviare rapporti sull’attività di Postfix via email.
Nel seguito descriverò come installare e configurare Mailgraph e pflogsumm su Debian Lenny.
Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo tutorial il mio sistema Linux ha l’indirizzo IP 192.168.0.100 e ospita il sito web http://www.example.com con la radice del documento /var/www/www.example.com/web e una directory cgi-bin di /var/www/www.example.com/cgi-bin, e invierò i rapporti di pflogsumm all’indirizzo email [email protected].
2 Mailgraph
Debian Lenny ha pacchetti per Mailgraph e pflogsumm, quindi li installiamo semplicemente. Installiamo anche rrdtool che memorizza i dati necessari a Mailgraph per disegnare i grafici:
aptitude install rrdtool mailgraphOra configuriamo il pacchetto mailgraph in questo modo:
dpkg-reconfigure mailgraph Ti verranno poste alcune domande:
Dovrebbe Mailgraph avviarsi all’avvio? <– Sì
File di log utilizzato da mailgraph: <– /var/log/mail.log
Poi c’è anche questa domanda:
Contare la posta in arrivo come posta in uscita?Se hai integrato un filtro dei contenuti come amavisd (per la scansione di spam e virus) in Postfix (come in questo tutorial: Integrazione di amavisd-new in Postfix per la scansione di spam e virus), allora rispondi No per evitare che Mailgraph conti le tue email due volte (perché Postfix consegna le email ad amavisd che poi - dopo una scansione riuscita - restituisce le email a Postfix). Se non utilizzi un filtro dei contenuti, allora rispondi Sì.
Durante l’installazione, i collegamenti di avvio del sistema per Mailgraph vengono creati automaticamente, e Mailgraph viene avviato automaticamente, quindi non è necessario avviarlo manualmente.
Ora dobbiamo copiare lo script mailgraph.cgi (che disegna i grafici e crea l’output per i nostri browser web) nella directory cgi-bin del nostro sito web www.example.com:
cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-binLo script è già eseguibile, quindi non è necessario modificarne i permessi. Se utilizzi suExec per il sito web www.example.com, devi cambiare il proprietario e il gruppo di mailgraph.cgi.
Ora indirizza il tuo browser a http://www.example.com/cgi-bin/mailgraph.cgi, e dovresti vedere alcuni grafici. Naturalmente, devono esserci alcune email che passano attraverso il tuo sistema prima di vedere i primi risultati, quindi sii paziente.
Dopo un po’ di tempo i tuoi grafici potrebbero apparire così (l’output seguente è personalizzato, quindi non appare esattamente come il tuo):

Statistiche Giornalieri. 
Statistiche Settimanali.
Statistiche Mensili. 
Statistiche Annuali. Si prega di notare: Mailgraph riporterà spam e virus solo se hai integrato un filtro dei contenuti come amavisd-new in Postfix che è configurato per utilizzare SpamAssassin e ClamAV per contrassegnare le email di spam e virus. Se non lo fai, vedrai comunque grafici, ma senza il rapporto su spam e virus.
3 pflogsumm
Per installare pflogsumm, eseguiamo
aptitude install pflogsummVogliamo che pflogsumm venga eseguito da un lavoro cron ogni giorno e invii il rapporto a [email protected]. Pertanto dobbiamo configurare il nostro sistema affinché scriva un file di log della posta per 24 ore, e successivamente avvii il prossimo log della posta in modo da poter fornire il vecchio log della posta a pflogsumm. Pertanto configuriamo logrotate (questo è il programma che ruota i file di log del nostro sistema) in questo modo: apri /etc/logrotate.conf e aggiungi il seguente brano, dopo la riga # i log specifici del sistema possono essere configurati qui:
vi /etc/logrotate.conf| [...] # i log specifici del sistema possono essere configurati qui /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |
C’è uno script di logrotate in /etc/cron.daily. Questo script viene chiamato ogni giorno tra le 06:00 e le 07:00. Con la configurazione che abbiamo appena fatto, copierà il log corrente di Postfix /var/log/mail.log in /var/log/mail.log.0 e lo comprimerà, e il file compresso sarà /var/log/mail.log.0.gz. Creerà anche un nuovo log vuoto /var/log/mail.log a cui Postfix può registrare per le prossime 24 ore.
Ora creiamo lo script /usr/local/sbin/postfix_report.sh che invoca pflogsumm e lo fa inviare il rapporto a [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: Statistiche 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 |
Dobbiamo rendere questo script eseguibile:
chmod 755 /usr/local/sbin/postfix_report.shPoi creiamo un lavoro cron che chiama lo script ogni giorno alle 07:00:
crontab -e| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |
Questo invierà il rapporto a [email protected]. Appare così in un client email:

4 Link
- 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/
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.