Postfix Monitoring · 4 min read · Jan 10, 2026

Postfix-Überwachung mit Mailgraph und pflogsumm

Postfix-Überwachung mit Mailgraph und pflogsumm

Version 1.0
Autor: Falko Timme

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. 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 Sarge, Ubuntu Dapper Drake (6.06 LTS) und Fedora Core 5 installiert und konfiguriert.

Ich möchte zunächst sagen, dass dies nicht der einzige Weg ist, ein solches System einzurichten. Es gibt viele Möglichkeiten, dieses Ziel zu erreichen, aber dies ist der Weg, den ich wähle. 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 Webseite 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 Debian Sarge

2.1 Mailgraph

Debian Sarge 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:

apt-get install rrdtool mailgraph 

Sie werden ein paar Fragen gestellt:

Soll Mailgraph beim Booten starten? <– Ja
Welches Protokoll sollte von Mailgraph verwendet werden? <– /var/log/mail.log
RRD-Dateien beim Löschen entfernen? <– Ja

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: Virtuelle Benutzer und Domains mit Postfix, Courier und MySQL (+ SMTP-AUTH, Quota, SpamAssassin, ClamAV)), dann antworten Sie Nein, um zu vermeiden, dass Mailgraph Ihre E-Mails doppelt zählt (da 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-Webseite 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 chmod müssen. Wenn Sie suExec für die www.example.com-Webseite 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: Mailgraph wird Spam und Viren nur melden, wenn Sie einen Inhaltsfilter wie amavisd 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, werden Sie weiterhin Grafiken sehen, jedoch ohne den Spam- und Virusbericht.

2.2 pflogsumm

Um pflogsumm zu installieren, führen wir aus

apt-get install pflogsumm  

Wir möchten, dass pflogsumm täglich 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 Mail-Log-Datei für 24 Stunden schreibt und danach das nächste Mail-Log startet, damit wir das alte Mail-Log an pflogsumm übergeben können. Daher konfigurieren wir logrotate (das ist das Programm, das die Protokolldateien unseres Systems dreht) 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

| /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:

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.