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 mailgraph

Ora 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-bin

Lo 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 pflogsumm

Vogliamo 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.sh

Poi 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

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.