Postfix auswerten

Screenshot Mailgraph

Die Aufgabe: die Arbeit von einen Postfix grafisch darstellen. Im Intranet sollten entsprechende Graphen abrufbar sein. Als zusätzliche Besonderheit waren die unterschiedlichen Installationsstandorte (Apache und Postfix, beides Fedora Core 5) zu beachten.

Die Lösung: die Log-Dateien vom Postfix werden mit mailgraph und queuegraph überwacht. Beide Werkzeuge schreiben ihre Ergebnisse in eine Round-Robin-Datenbank. Diese wird per NFS für den Webserver lesbar gemacht, so das die dort abgelegten CGI-Skripte die Daten aufbereiten und darstellen können.

Die Installation auf dem Postfix-Server:

Die Archive mailgraph-1.13.tar.gz und queuegraph.tar.gz herunterladen und auspacken.

mkdir /root/graph
cd /root/graph
wget http://mailgraph.schweikert.ch/pub/mailgraph-1.13.tar.gz
tar xzvf mailgraph-1.13.tar.gz
wget http://www.arschkrebs.de/postfix/queuegraph/queuegraph.tar.gz
tar xzvf queuegraph.tar.gz

Eventuell fehlende Perl-Pakete nachinstallieren (inkl. der abhängigen Pakete).

yum install perl-RRD-Simple.noarch
yum install perl-File-Tail.noarch

Ein Verzeichnis für die Datenbanken anlegen.

mkdir /var/rrd

Das Startskript /root/graph/mailgraph-1.13/mailgraph-init anpassen.

PATH=/bin:/usr/bin
MAILGRAPH_PL=/root/graph/mailgraph-1.13/mailgraph.pl
MAIL_LOG=/var/log/maillog
PID_FILE=/var/run/mailgraph.pid
RRD_DIR=/var/rrd

Die kontinuierliche Überwachung für mailgraph starten.

/root/graph/mailgraph-1.13/mailgraph-init start

Die Konfiguration /root/graph/queuegraph/queuegraph-rrd.sh anpassen.

RRDFILE=/var/rrd/queuegraph.rrd

Die kontinuierliche Überwachung für queuegraph in /etc/crontab einrichten.

* * * * * root /root/graph/queuegraph/queuegraph-rrd.sh

Die NFS-Freigabe in der /etc/exports hinterlegen. Die Ip-Adresse vom Webserver ist 192.168.0.200 und erhält nur Leserechte.

/var/rrd        192.168.0.200(ro)

In der /etc/hosts.deny alles verbieten.

portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL

In der den Zugriff für den Webserver freigeben.

portmap: 192.168.0.200
lockd: 192.168.0.200
rquotad: 192.168.0.200
mountd: 192.168.0.200
statd: 192.168.0.200

Zum Abschluss den NFS-Server starten.

/etc/init.d/nfs start

Die Einrichtung auf dem Apache-Server:

Die CGI-Skripte auf den Webserver kopieren. Die Ip-Adresse vom Postfix-Server ist die: 192.168.0.100

cd /var/www
scp 192.168.0.100:/root/graph/mailgraph-1.13/mailgraph.cgi cgi-bin/
scp 192.168.0.100:/root/graph/queuegraph.cgi cgi-bin/

Eventuell fehlende Perl-Pakete nachinstallieren (inkl. der abhängigen Pakete).

yum install perl-RRD-Simple.noarch
yum install perl-File-Tail.noarch

Die NFS-Freigabe verbinden.

mkdir /var/rrd
/etc/init.d/portmap start
mount 192.168.0.100:/var/rrd /var/rrd

Das Skript /var/www/cgi-bin/mailgraph.cgi anpassen.

my $rrd = ‘/var/rrd/mailgraph.rrd’;
my $rrd_virus = ‘/var/rrd/mailgraph_virus.rrd’;
my $tmp_dir = ‘/tmp’;

Das Skript /var/www/cgi-bin/mailgraph.cgi anpassen.

my $rrd = ‘/var/rrd/queuegraph.rrd’;
my $tmp_dir = ‘/tmp’;

Das war es! Ab sofort können die Adressen http://192.168.0.200/cgi-bin/mailgraph.cgi und http://192.168.0.200/cgi-bin/queuegraph.cgi im Browser aufgerufen werden.

This entry was posted in Linux and tagged , . Bookmark the permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>