Postfix Monitoring · 4 min read · Sep 27, 2025

Postfix-Überwachung Mit Mailgraph Und pflogsumm Auf Debian Lenny

Postfix-Überwachung Mit Mailgraph Und pflogsumm Auf Debian Lenny

Version 1.0
Autor: Falko Timme
Folge mir auf Twitter

Dieser Artikel beschreibt, wie Sie Ihren Postfix-Mailserver mit den Tools Mailgraph und pflogsumm überwachen können. Mailgraph erstellt tägliche, wöchentliche, monatliche und jährliche Grafiken über gesendete, empfangene, zurückgewiesene und abgelehnte E-Mails sowie über Spam und Viren, wenn SpamAssassin und ClamAV in Postfix integriert sind (z. B. mit amavisd-new). Diese Grafiken können mit einem Browser aufgerufen werden, während pflogsumm (“Postfix Log Entry Summarizer”) verwendet werden kann, um Berichte über die Postfix-Aktivität per E-Mail zu senden.

Im Folgenden werde ich beschreiben, wie man Mailgraph und pflogsumm auf Debian Lenny installiert und konfiguriert.

Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

In diesem Tutorial hat mein Linux-System die IP-Adresse 192.168.0.100 und hostet die Website http://www.example.com mit dem Dokumentenstamm /var/www/www.example.com/web und einem cgi-bin-Verzeichnis von /var/www/www.example.com/cgi-bin, und ich werde die pflogsumm-Berichte an die E-Mail-Adresse [email protected] senden.

2 Mailgraph

Debian Lenny hat Pakete für Mailgraph und pflogsumm, also installieren wir diese einfach. Wir installieren auch rrdtool, das die Daten speichert, die Mailgraph benötigt, um die Grafiken zu zeichnen:

aptitude install rrdtool mailgraph

Jetzt konfigurieren wir das Mailgraph-Paket wie folgt:

dpkg-reconfigure mailgraph 

Sie werden ein paar Fragen gestellt:

Soll Mailgraph beim Booten starten? <– Ja
Protokolldatei, die von Mailgraph verwendet wird: <– /var/log/mail.log

Dann gibt es auch diese Frage:

Zählt eingehende E-Mails als ausgehende E-Mails?

Wenn Sie einen Inhaltsfilter wie amavisd (für Spam- und Virenscanning) in Postfix integriert haben (wie in diesem Tutorial: Integration von amavisd-new in Postfix für Spam- und Virenscanning), dann antworten Sie Nein, um zu vermeiden, dass Mailgraph Ihre E-Mails doppelt zählt (weil Postfix E-Mails an amavisd liefert, die dann - nach erfolgreichem Scannen - die E-Mails zurück an Postfix liefert). Wenn Sie keinen Inhaltsfilter verwenden, antworten Sie Ja.

Während der Installation werden die Systemstartlinks für Mailgraph automatisch erstellt, und Mailgraph wird ebenfalls automatisch gestartet, sodass wir es nicht manuell starten müssen.

Jetzt müssen wir das mailgraph.cgi-Skript (das die Grafiken zeichnet und die Ausgabe für unsere Webbrowser erstellt) in das cgi-bin-Verzeichnis unserer www.example.com-Website kopieren:

cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin

Das Skript ist bereits ausführbar, sodass wir es nicht chmoden müssen. Wenn Sie suExec für die www.example.com-Website verwenden, müssen Sie mailgraph.cgi dem entsprechenden Besitzer und der entsprechenden Gruppe zuweisen.

Jetzt richten Sie Ihren Browser auf http://www.example.com/cgi-bin/mailgraph.cgi, und Sie sollten einige Grafiken sehen. Natürlich müssen einige E-Mails durch Ihr System gehen, bevor Sie die ersten Ergebnisse sehen, also haben Sie Geduld.

Nach einiger Zeit könnten Ihre Grafiken so aussehen (die folgende Ausgabe ist angepasst, sodass sie nicht genau wie Ihre aussieht):

Tägliche Statistiken. 

Wöchentliche Statistiken.

Monatliche Statistiken. 

Jährliche Statistiken. 

Bitte beachten Sie: Mailgraph wird Spam und Viren nur melden, wenn Sie einen Inhaltsfilter wie amavisd-new in Postfix integriert haben, der so konfiguriert ist, dass er SpamAssassin und ClamAV verwendet, um Spam- und Virus-E-Mails zu kennzeichnen. Wenn Sie dies nicht tun, sehen Sie weiterhin Grafiken, jedoch ohne den Spam- und Virusbericht.

3 pflogsumm

Um pflogsumm zu installieren, führen wir aus

aptitude install pflogsumm

Wir möchten, dass pflogsumm jeden Tag von einem Cron-Job ausgeführt wird und den Bericht an [email protected] sendet. Daher müssen wir unser System so konfigurieren, dass es eine Protokolldatei für 24 Stunden schreibt und danach das nächste Protokoll startet, damit wir das alte Protokoll an pflogsumm übergeben können. Daher konfigurieren wir logrotate (das Programm, das die Protokolldateien unseres Systems rotiert) wie folgt: Öffnen Sie /etc/logrotate.conf und fügen Sie den folgenden Abschnitt hinzu, nach der Zeile # system-specific logs may be configured here:

vi /etc/logrotate.conf

| [...] # system-specific logs may be configured here /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |

Es gibt ein logrotate-Skript in /etc/cron.daily. Dieses Skript wird jeden Tag zwischen 06:00 und 07:00 Uhr aufgerufen. Mit der Konfiguration, die wir gerade vorgenommen haben, wird es das aktuelle Postfix-Protokoll /var/log/mail.log nach /var/log/mail.log.0 kopieren und komprimieren, und die komprimierte Datei wird /var/log/mail.log.0.gz sein. Es wird auch ein neues, leeres /var/log/mail.log erstellen, in das Postfix für die nächsten 24 Stunden protokollieren kann.

Jetzt erstellen wir das Skript /usr/local/sbin/postfix_report.sh, das pflogsumm aufruft und es anweist, den Bericht an [email protected] zu senden:

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: Mail Statistics" -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 |

Wir müssen dieses Skript ausführbar machen:

chmod 755 /usr/local/sbin/postfix_report.sh

Dann erstellen wir einen Cron-Job, der das Skript jeden Tag um 07:00 Uhr aufruft:

crontab -e

| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |

Dies wird den Bericht an [email protected] senden. So sieht es in einem E-Mail-Client aus:

4 Links

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.