AWStats

Die große Stärke der FreeWare AWStats ist natürlich das Auswerten von Webserverlogs, um das Nutzungsverhalten zu ermitteln. Aber AWStats kann auch Maillogs auswerten und mit der passenden Konfiguration kann er sogar Exchange Tracking Logs auswerten.

Die Einbindung als CGI-Script ist etwas aufwändiger und wird hier nicht beschrieben. Zudem gibt es immer wieder Risiken, da das Script mit den Rechten des Webservers ausgeführt wird.

Den regelmäßigen Aufruf jede Nacht kann der Microsoft Task Scheduler für Sie übernehmen.

Download und Installation

Die Installation von AWStats ist als Perl-Skript relativ einfach. Es gibt allerdings keine MSI-Datei oder einen Assistenten. Folgende Komponenten sind erforderlich

awstats.pl wird dann in einer Kommandozeile oder über eine Batch regelmäßig aufgerufen. AWStats wird über eine Konfigurationsdatei gesteuert, welche als Kommandozeilenparameter anzugeben ist. Wenn Sie daher mehrere Dienste analysieren wollen, können Sie einfach mehrere Konfigurationsdateien anlegen. Im obigen Bild sehen Sie z.B.: die awstats.wwwmsxfaq.de.conf, welche diese Webseite analysiert. Wird keine Konfigurationsdatei angegeben, dann nutzt AWStats einfach die awstats.conf.

Globale Einstellungen

AWStats benötigt ein paar wenige aber wichtige Parameter, die in der Konfigurationsdatei hinterlegt werden müssen

Hier muss ich noch die genauen Parameter ablegen

Zusätzlich sind natürlich das Logfile Format und die zu erstellenden Bericht zu konfigurieren

Konfiguration für OWA

Hier muss ich noch die genauen Parameter ablegen

Konfiguration für Exchange Maillogs

Am besten kopieren Sie daher die awstats.conf z.B. nach awstats.server1.conf und passen Sie folgende Zeilen an:

LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=

Damit wird AWStats das Format der Logfiles definiert und welche Ausgabeseiten erzeugt werden sollen.

Konfiguration für ISA

Übrigens kann AWStats auch recht problemlos die Logfiles eines ISA-Servers auswerten. Dazu müssen Sie nur folgende Eintragungen in der Konfigurationsdatei angeben und den ISA-Server die Logfiles in Textdateien schreiben lassen.

Squid Log Auswertung
200.135.30.181 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET http://www.mydomain.com/page.html HTTP/1.0" 200 456 TCP_CLIENT_REFRESH_MISS:DIRECT
You must use : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %other"

Der ISA-Server kann natürlich auch die Logs in eine SQL-Datenbank schreiben. Gerade mit SQL2005 und den Reporting Services lassen sich so auch sehr schöne Auswertungen erstellen. Aber das ist ein anderes Thema

Aufruf von AWStats

Wenn Sie wie ich einfach nur einmal am Tag die Logfiles von gestern einlesen und die Auswertungen erstellen lassen wollen, dann reicht ein Batchfile mit folgendem Inhalt

REM Logfile importieren
C:\Inetpub\auswertung\AWStats-6.5\wwwroot\cgi-bin\awstats.pl -config=www.msxfaq.de -update

REM Alle Report erstellen
REM C:\Inetpub\auswertung\AWStats-6.5\tools\awstats_buildstaticpages.pl -config=www.msxfaq.de -dir=C:\Inetpub\auswertung\AWStats-6.5\wwwroot

Diese Beispiel liest die Protokolldateien der Webseite (in der Konfigurationsdatei ist der Pfad zu definieren !) in die Datenbank und erstellt die Berichte.

Grenzen von AWStats und anderen einfachen Tools

Ein großer Nachteil von solchen "einfachen" Lösungen ohne Datenbanken sind natürlich fehlende Funktionen. Der primäre Ansatz ist das konsolidieren von Protokolldateien in eine Zusammenfassung und die Erstellung aussagekräftiger Berichte. Allerdings werden dazu eben immer ALLE Datenbanken zusammengelegt. Eine Unterscheidung nach Zeiträumen ist hier nicht möglich. d.h. AWStats und andere legen keinen Bericht pro Monat, Tag o.ä. an. Entsprechend können Sie natürlich auch nicht interaktiv Zeiträume zur Analyse auswählen. Es ist immer eine "Summenfunktion".

Es gibt zwar dann Reports, die die Summe der Daten anzeigen aber folgende Reports sind z.B.: nicht ohne weiteres möglich:

Es gibt noch einige weitere Reports, die interessant wäre, aber AWStats und andere einfache Tools so nicht leisten können. Natürlich kann ich mir die Reports "erzeugen" lassen, indem ich die Protokolldateien vorher "filtere" und dann mehrere Konfigurationsdateien pflege und die gleichen Protokolldateien mit mehreren Durchläufen in verschiedene Datenbanken schreiben lasse.

Man kann aber in AWStats mit den Optionen "-month=MM -year=YYYY" natürlich auf die Zeit selbst filtern. Allerdings sind in der Datenbank eben nicht mehr die kompletten Protokolldaten vorhanden, um nach Empfängern oder URLs etc. zu filtern.
AWStats löst dies, indem die Datenbank je Monat angelegt wird. Bei mir in C:\Inetpub\auswertung\AWStats-6.5\data

Solche ausführlichere Auswertungen sind dann aber doch eher die Domäne kommerzieller großer Werkzeuge wie Quest Message Stats und anderen (siehe auch Reporttools), die die Protokolldateien in eine SQL-Datenbank konsolidieren und interaktiv entsprechende Reports erstellen.

Weitere Links

AWStats mit IIS
http://www.sysops.tv/2011/01/21/081-awstats-mit-iis-sd/

Tags:Tools AWStats IIS Auswertung Statistik