mynethome.de

17. August 2007 um 06:23 Uhr

Mailserver Statistik: AwStats für Postfix

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

6 Reaktionen zu “Mailserver Statistik: AwStats für Postfix”

  1. Gravatar Icon Nicolas Bauer

    Fehlt bei LogFile nicht die Zeile?
    Oder was muss ich da bei mir rein schreiben.

  2. Gravatar Icon Markus

    OH – ja, vielen Dank für den Hinweis, habs direkt korrigiert :)
    Ists so klarer / hilfreich?

  3. Gravatar Icon Nicolas Bauer

    Jetzt ist es klar, wenn es bei meiner Mandriva installation geklappt hat melde ich mich noch mal.

  4. Gravatar Icon Matthias

    Hallo, ich komm mit den Maillogs nicht so recht klar, da ist ja keine Grösenangabe drinnen und dementsprechend wird in den awstats auch nichts
    angezeigt. Kann mir da vielleicht wer helfen?

  5. Gravatar Icon Markus

    Hallo,
    in meinen Maillog ist eine size= angabe vorhanden, die wird im vorletzten Block des Skriptes auch abgefragt. Hilft Dir das weiter?

    Grüße

  6. Gravatar Icon Matthias

    Hallo, Ab einer bestimmten Größe des Maillogs gibt es laut Tante Gooogle einen Bug in manchen Versionen des
    Qmgr wo dieser nicht mehr loggt. Nach einem logrotate war dann auch die Size-Angabe wieder im Log.
    Nur leider steht bei der Ausgabe des Scripts trotzdem nur ein „?“. Mit den ganzen regulären Ausdrücken
    ist das Script für mich als nichtprogrammierer kaum lesbar, darum weiss ich jetzt nicht so recht wo
    ich anfangen kann zu suchen.

    Grüße
    Matthias

Einen Kommentar schreiben


Gravatar unterstützt

mynethome.de wird erstellt mit WordPress
Beiträge (RSS) und Kommentare (RSS)

(c) 2005 - 2015 Markus Schlichting