Glengamoi (Forum) · AspHeute · .NET Heute (RSS-Suche) · AspxFiles (Wiki) · .NET Blogs

Logfiles auswerten mit Webalizer

Geschrieben von: Stephan Troxler
Kategorie: Server

This printed page brought to you by AlphaSierraPapa

Wer heutzutage statistische Auswertungen aus seinen Logfiles generieren will, hat die Qual der Wahl aus hunderten von Tools das passende auszuwählen. Auf AspHeute wurde schon Analog präsentiert, und in diesem Artikel wird mit Webalizer ein weiteres Freewareprogramm vorgestellt. Gegenüber Analog bietet Webalizer diverse Vorteile, die Handhabung bedarf jedoch anfangs etwas Gewöhnung.

Die wesentlichen Stärken von Webalizer sind:

Im Artikel gehe ich von einer "out of the box" Installation von W2k Server mit IIS5 aus. Dateipfade sind bei Abweichungen entsprechend anzupassen.

Das Erstellen der Logfiles

Sowohl Apache als auch IIS unterstützen diverse Logfileformate welche ich hier schnell genauer erläutern möchte. Da Webalizer ursprünglich im Unix-Umfeld entwickelt wurde, unterstützt er standardmäßig das "Common Logfile Format" und das "Combined Logfile Format" des Apache Webservers. Der IIS bietet uns die Wahl zwischen den Formaten NCSA (entspricht dem "Common Logfile Format"), W3C (RFC Standard des W3C Konsortiums) und "IIS" (ein Microsoft-eigenes Format).

Der wesentlichste Unterschied in den verschiedenen Typen liegt neben der Formatierung im Umfang der mitgeloggten Daten. Grundsätzlich sollte unter IIS immer mit dem W3C-Format gearbeitet werden, da es als einziges auch Informationen wie den Http-Referer oder den User-Agent protokolliert. Zudem läßt es uns im Detail die Wahl, welche Informationen wir loggen wollen und welche nicht. Zu beachten ist beim W3C-Format, dass die Uhrzeit jeweils nach GMT mitgeloggt wird, was einen Zeitversatz zur Mitteleuropäischen Zeit bedeutet.

In der Managementkonsole des IIS wechselt man zunächst in die Eigenschaften eines Webs. Auf der ersten Seite (Reiter "Web Site") wählen wir die Option "Enable Logging" an und setzen das Format auf "W3C Extended Log File Format". Diese Einstellungen sind standardmäßig schon vorgewählt.

Über "Properties" gelangt man in die detaillierten Einstellungen. Der vorgegebene Ort für die Dateiablage der Logfiles ist der Pfad "c:\winnt\system32\logfiles". Darin legt der IIS für jeden virtuellen Webserver ein fortlaufend numeriertes Verzeichnis an (W3SVC1, W3SVC2, W3SVC3, etc.). Nach Möglichkeit sollte das Zielverzeichnis der Logfiles auf eine andere, möglichst große Partition verlegt werden. Für unser Beispiel belassen wir die Logfiles im Standardverzeichnis. Das Intervall der Logfiles sollte je nach Besucheraufkommen gewählt werden. In der Regel fährt man mit "monatlich" oder "wöchentlich" gut.

Wichtig ist hier außerdem, daß die Option zur Verwendung des Tageswechsels zur Lokalzeit angewählt wird, da ansonsten der Tageswechsel nach GMT erfolgt und sich dadurch die geloggten Zugriffszeiten von den Logfilenamen unterscheiden.

Über den Reiter "Extended Properties" gelangen wir schließlich zu den zu loggenden Werten. Um sinnvolle Statistiken zu erhalten, sollten mindestens die folgenden Optionen gesetzt werden: "Date", "Time", "Client IP", "Method", "URI Stem", "Protocol Status", "Bytes Sent", "Bytes Received", "User Agent" und "Referer".

Der Webalizer

Webalizer ist ein Open Source Projekt mit Portierungen für diverse Betriebsysteme, welches unter http://www.webalizer.org beheimatet ist. Die dort erhältliche Win32-Version liest jedoch nur Logfiles des Formats CLF und kann somit nur verwendet werden wenn die W3C Logfiles zuvor mit einem Konverter umgewandelt werden, oder wenn mit dem NCSA Format geloggt wird.

Unter http://www.medasys-lille.com/webalizer/ gibt es eine auf den IIS optimierte Version welche auch W3C Logfiles lesen kann. Webalizer ist auf dieser Seite in diversen Sprachen und Entwicklungsstadien erhältlich. Im Umfang eines jeden Downloads sind folgende Dateien enthalten, welche man zunächst in ein Verzeichnis (in unserem Beispiel ist das "d:\webalizer\") entpackt:

Die Konfiguration

Webalizer läßt sich auf zwei Arten anwenden. Einerseits können sämtliche Parameter als Kommandozeilenargumente übergeben werden, andererseits kann auf ein Konfigurationsfile wie das mitgelieferte verwiesen werden. Wir schauen uns die zweite Variante an, da diese komfortabler und flexibler ist. Das Konfigurationsfile nenne ich im untenstehenden Beispiel wconfig.txt.

Über ein weiteres Steuerfile lassen sich zudem sämtliche virtuellen Webserver eines Servers erfassen. Nennen wir diese Datei serverlist.txt.

Inhalt von wconfig.txt

Nachfolgend sehen wir die wichtigsten Parameter des Konfigurationsfiles. Diese lassen sich beliebig anhand der Beispielkonfiguration ergänzen und anpassen. So kann beispielsweise ein CSS-File eingebunden werden welches die Statistiken formatiert.

Debug		yes

Gibt Informationen über Fehler in den Logfiles während der Verarbeitung aus.

DNSCache		D:\webalizer\dnscache.txt
DNSChildren	20

Ermöglicht die Verwendung von Reverse DNS-Lookups. Die Datei dnscache.txt wird von Webalizer als Cachefile verwendet. DNSChildren gibt an wie viele parallele Verbindungen für die Lookups geöffnet werden dürfen.

ServerList	D:\webalizer\serverlist.txt

Der Pfad zu unserer Liste der virtuellen Webserver

Incremental	yes

Ermöglicht es Webalizer selbstständig mehrere fortlaufende (monatliche, wöchentliche, etc.) Logfiles aus einem Verzeichnis heraus zu verarbeiten.

LogType		iis

Anweisung, daß das W3C Format verarbeitet werden soll

PageType	htm*
PageType	asp*

Deklaration, was im Bericht als Webseite betrachtet werden soll.

HideURL		*.gif
HideURL		*.jpg
HideURL		*.png
HideURL		*.ra
HideURL		*.dll

Mittels des Parameters "HideURL" können Dateitypen und Verzeichnisse angegeben werden, welche im Bericht nicht dargestellt werden. Die Angabe dieser Dateitypen fokussiert den Bericht besser auf die oben deklarierten Webseiten.

IgnoreURL		/_vti*

Mittels des Parameters "IgnoreURL" können Dateitypen und Verzeichnisse angegeben werden, welche im Bericht nicht ausgewertet werden. Obiges Beispiel ist sinnvoll, wenn die Frontpage Servererweiterungen installiert sind.

SearchEngine	yahoo.com		p=
SearchEngine	altavista.com	q=
SearchEngine	google.com	q=

Mit diesem Parameter können Suchmaschinen und deren Queryvariablen deklariert werden. Anhand dieser Angaben wertet Webalizer aus, mit welchen Suchanfragen die Benutzer auf die Webseite gelangt sind.

Inhalt von serverlist.txt

Die Datei serverlist.txt beinhaltet sämtliche Hosts, von welchen Statistiken erstellt werden sollen. Für jeden Host wird eine Zeile mit den nachfolgenden Angaben angelegt. Die Werte werden mittels Leerschlag (" ") getrennt: Name des Hosts, Pfad zu den Logfiles, Outputpfad des Statistikberichts, Hostheadernamen.

Beispiel:

meinServer c:\winnt\system32\logfiles\w3svc3\ d:\wwwroot\ [cont.]
     meinserver\stats\ www.meinserver.com;meinserver.com

Erläuterung:

Starten der Auswertung

Nachdem wir nun sämtliche notwendigen Anpassungen vorgenommen haben können wir den Webalizer starten. Mittels des Parameters "-c" verweisen wir auf unser Konfigurationsfile. Der Aufruf des Programms sieht wie folgt aus:

webalizer.exe -c wconfig.txt

Webalizer geht nun alle Hosts der Serverliste durch, generiert gemäß der Konfiguration aus wconfig.txt die Statistiken und legt sie im jeweiligen Zielverzeichnis ab.

Um regelmäßig Statistiken zu erhalten, kann dieser Aufruf beispielsweise über einen AT Job in regelmässigem Intervall gestartet werden. Webalizer erkennt jeweils den Stand der letzen Verarbeitung und fährt bei der zuletzt ausgewerteten Zeile mit den Auswertungen fort.

Schlußbemerkung

Webalizer ist ein geeignetes Analysewerkzeug für all jene, welche ohne großen Aufwand automatisierte, monatliche Web-Statistiken Ihrer Hosts generieren wollen. Durch die Vielfalt an Konfigurationsmöglichkeiten deckt es ein breites Band an Bedürfnissen ab. Dennoch kennt auch Webalizer seine Grenzen, sobald tiefgründige Analysen des Surfverhaltens etc. gefragt sind. Bevor man jedoch viel Geld und Zeit in die Hand nimmt und sich mit kostenpflichtigen Auswertungs-Tools herumschlägt lohnt sich auf jeden Fall ein Test des Webalizers.

This printed page brought to you by AlphaSierraPapa

Download des Codes

Klicken Sie hier, um den Download zu starten.
http://www.aspheute.com/code/20021030.zip

Verwandte Artikel

Gratis Loganalyse mit Analog
http:/www.aspheute.com/artikel/20010517.htm
IIS, was machst du gerade?
http:/www.aspheute.com/artikel/20011204.htm
Logfiles mit Access auswerten
http:/www.aspheute.com/artikel/20010502.htm
ReportMagic für Analog
http:/www.aspheute.com/artikel/20010523.htm

Links zu anderen Sites

Beispielauswertung
http://www.webalizer.org/sample/index.html
Das W3C Logfile Format
http://www.w3.org/TR/WD-logfile.html
Das Webalizer Projekt
http://www.webalizer.org/
Downloadseite Win32 Client
http://www.medasys-lille.com/webalizer/

 

©2000-2006 AspHeute.com
Alle Rechte vorbehalten. Der Inhalt dieser Seiten ist urheberrechtlich geschützt.
Eine Übernahme von Texten (auch nur auszugsweise) oder Graphiken bedarf unserer schriftlichen Zustimmung.