Postfix Monitoring · 4 min read · Sep 28, 2025

Postfix-Überwachung Mit Mailgraph Und pflogsumm Auf Debian Etch

Postfix-Überwachung Mit Mailgraph Und pflogsumm Auf Debian Etch

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 von gesendeten, empfangenen, zurückgewiesenen und abgelehnten E-Mails sowie von 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 Etch 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 Etch 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

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ähle 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 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 chmod 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, werden Sie weiterhin Grafiken sehen, jedoch ohne den Spam- und Virusbericht.

3 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 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 ist 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 erstellt, 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.