Quantcast
Channel: Schätzen – Seite 29 – mynethome.de
Viewing all articles
Browse latest Browse all 66

Mailserver Statistik: AwStats für Postfix

$
0
0

Achtung, jetzt wirds mal wieder technisch :) Es geht um die Auswertung der Protokolldateien eines E-Mail-Servers.

Möchte man im Auge behalten, was der Mailserver den lieben langen Tag so macht, bietet sich der Einsatz eines Statistiktools an. AwStats ist ein solches, das neben Webserver Logs auch eine Reihe von Mailserverlogs auswerten und grafisch ansprechend darstellen kann.

Leider gibt es ein kleines Problem beim Auswerten der Logfiles von Postfix unter Ubuntu beim Einsatz von Amavis (Mail-Virus-Scanner), da das zu AwStats mitgelieferte Perlskript, das die Logdatei aufbereitet, nicht ganz auf dem aktuellen Stand ist. Es werden nur noch die Meldungen der fehlgeschlagenen oder abgelehnten Mails aufgelistet.

Da ich kein Perlfan bin, war ich ganz froh, bei netzpiraten einen Beitrag zum Thema mit einem Ruby-Skript zu finden, dass genau diese Aufgabe, die Logdatei für AwStats aufzubereiten, für mich übernehmen kann.

Ich habe es noch um 2 Dinge erweitert:

  • – die size Angabe , also die Größe der Mails, wird nun mit ausgewertet und ausgegeben
  • – from/to wird richtig geparsed und mit ausgegeben

Konfiguration

Eingebunden wird das Skript wie auch zuvor das Perlskript, bei mir schauts dann so aus:

LogFile=”/path/to/maillogconvert.rb < /var/log/mail.log.0 |"

und der passende Format-Parameter

LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"

Wahrscheinlich muss man für jede Postfix-Konfiguration ein wenig am Skript drehen, aber abgesehen von den regulären Ausdrücken ist dies mit Ruby ja kein Hexenwerk :)

Hier also das Skript zum Download: maillogconvert.rb

Ruby ?!
Uhm, ja, richtig, ich hab mich schon im letzten Semester begeistern lassen, mir die Sprache mal anzusehen, besonders durch die verschiedenen Ruby On Rails Demos.

Die beste Seite zum Einstieg, die mir dabei begegnet ist, ist das interaktive Tutorial Try Ruby – hat einfach Spaß gemacht damit anzufangen, Ruby kennenzulernen :) Wenn man damit durch ist, kann man sich Why’s (Poignant) Guide to Ruby vornehmen oder einfach in der Doku wühlen.

Klar, prinzipiell nehmen sich die aktuellen Skriptsprachen wie PHP, Python oder eben Ruby nicht viel, aber Ruby ist erfrischend einfach, hat eine Syntax, die Spass macht und man kommt schnell zum Ergebnis. Wahrscheinlich ist Ruby auch für Einsteiger sehr gut geeignet. Ich möchte empfehlen, es einfach mal auszuprobieren :)


Viewing all articles
Browse latest Browse all 66