Aus Linux-Magazin 09/2007

Log-Analyzer für Apache im Vergleich

Wer die Besucher seiner Webseiten zählen und wissen will, woher sie kommen oder wie lange sie bleiben, findet diese Informationen im Apache-Log – theoretisch, denn niemand kann mit den kryptischen Zeilen dort etwas anfangen. Webalizer oder Awstats bereiten die Daten grafisch auf.

Wer wissen möchte, wie sein Produkt ankommt, muss teure Marktanalysen bezahlen – es sei denn, er bietet Webseiten an. Dann geben bereits die Logfiles des Webservers Aufschluss über Besucherzahlen, Verweildauer, die beliebtesten Seiten und darüber, wie Besucher sich am häufigsten durch die Site bewegen. Doch die Daten, die Apache mitschreibt, sind überaus deutungsbedürftig:

192.168.1.117 - - [25/Jul/2007:13:15:05+0200] "GET /epi/index_library.hp?rs=getFiles&rsargs[]=u39&rsargs[]=1&rsrd=1185362099011 HTTP/1.1" 200 141 "http://192.168.1.90/epi/index_library.php" "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5"

Jede Zeile im Accesslog des Servers berichtet unter anderem über die IP des Besuchers, den Befehl, den sein Browser an den Webserver gerichtet hat, sowie welchen Browser und welches Betriebssystem er benutzt. Selbst wer die Zeilen im Accesslog zu deuten versteht, ist wegen ihrer schieren Zahl auf eine Software angewiesen, die solche Rohdaten statistisch verarbeitet.

Log-Analyzer – etwa Webalizer und dessen Forks Webalizer Xtended und Stone Step Webalizer sowie Awstats – verwandeln die schwer verdaulichen Apache-Logs in übersichtliche Balkengrafiken, die sich auch in Meetings präsentieren lassen. Außer diesen Programmen, die sich darauf konzentrieren, den Traffic zu analysieren, stellt die Bitparade noch zwei Programme vor, die nicht nach der Quantität der Zugriffe fragen. Pathalizer und Visitors stellen die Bewegungen der Besucher auf der Site grafisch dar.

E Webalizer & Co.

Der Open-Source-Klassiker Webalizer ([1], Abbildung 1) liegt als Binary vor, das beim Aufruf neben optionalen Parametern den Pfad zum Accesslog des Webservers erwartet. Als Ausgabe erzeugt der Log-Analizer HTML-Seiten mit eingebundenen Grafiken. Erfolgt der Aufruf von Webalizer regelmäßig über einen Cronjob, lassen sich die aktuellen Statistiken über den Webserver ohne Konsolenzugriff auf den Server-Rechner abrufen. Da das unter [1] erhältliche Static Binary ohne weitere Konfiguration mit der Apache-Access-Logdatei arbeitet, ist der seit 2002 nicht mehr weiterentwickelte Webalizer nach wie vor die schnellste Methode, um eine Besucherstatistik zu erzeugen.

Abbildung 1: Veteran mit deutlich sichtbarer Altersschwäche: Features wie zum Beispiel das Ausfiltern von Suchmaschinen-Bots sowie eine Analyse der Aufenthaltsdauer der Besucher fehlen.

Abbildung 1: Veteran mit deutlich sichtbarer Altersschwäche: Features wie zum Beispiel das Ausfiltern von Suchmaschinen-Bots sowie eine Analyse der Aufenthaltsdauer der Besucher fehlen.

Die Einstiegsseite von Webalizer schlüsselt den Traffic eines Jahres nach Monaten auf. Die Software differenziert dabei zwischen Hits (Anfragen an den Webserver), Files (Anzahl der übertragenen Dateien inklusive Grafiken), Pages (Anzahl der ausgelieferten Seiten) und den Visits (Anzahl der Besucher mit unterschiedlicher IP). Außerdem überwacht der Monitor die Antwortcodes des Servers: Gibt es Einträge mit 404-Rückgabewert, deutet dies auf ungültige Links innerhalb der Seite hin.

Die Jahrestabelle enthält Links auf die Statistiken der einzelnen Monate. Webalizer kennzeichnet die Tabellenspalten farbig und zeichnet Balkengrafiken. Leider gibt es keine Wochenübersicht, sodass es dem Benutzer überlassen bleibt, die Traffic-Einbrüche den Samstagen oder Sonn- und Feiertagen zuzuordnen. Außerdem weist Webalizer die Top 10 und Top 30 der Seiten aus, inklusive des Traffic, der auf deren Konto geht.

Überwacht

Den Verlauf des typischen Besuchs einer Webseite erfasst Webalizer nur über eine Top-8-Liste der Einstiegs- und Ausstiegsseiten. Die Einstiegsseite gibt, zusammen mit der Top-30-Liste der Referrer – also der Herkunftsseite, die der Browser angibt -, Auskunft darüber, welche Seiten über die Suchmaschinen besonders viele Besucher angezogen haben.

Bei der Referrer-Liste ist zu bedenken, dass ihre Werte vom Browser der Besucher stammen und unzuverlässig sind. Nicht alle Browser machen diese Angabe, unter Umständen schaltet auch der Benutzer die Übermittlung ab. Das gilt auch für die Top 5 der User Agents, also der Informationen über Browser und Betriebssystem. Auch hier können Besucher die Statistik verzerren. Beim Opera-Browser etwa lässt sich der Rückgabewert des User Agent leicht auf einen beliebigen Wert einstellen.

Reparaturbedarf

Unbrauchbar ist bei der heutigen Internetstruktur die geografische Lokalisierung der Zugriffe über die Domain-Endung des Gateway: In der Praxis zeigt sie meist 100 Prozent nicht zuzuordnende Zugriffe. Wer einen Überblick über die geografische Verteilung der Besucher wünscht, benötigt entweder das Webalizer-Patch Geolizer oder einen aktuelleren Webalizer-Fork wie Webalizer Xtended ([2], Abbildung 2).

Abbildung 2: Geografisches Wissen und Hilfe bei der Fehlersuche: Webalizer Xtended bindet Geolizer ein, um die geografische Region, die sich hinter der Besucher-IP verbirgt, herauszufinden. Das Look&Feel lässt sich anpassen.

Abbildung 2: Geografisches Wissen und Hilfe bei der Fehlersuche: Webalizer Xtended bindet Geolizer ein, um die geografische Region, die sich hinter der Besucher-IP verbirgt, herauszufinden. Das Look&Feel lässt sich anpassen.

Diese erweiterte Version integriert Geolizer und schlüsselt die 404-Fehlercodes nach auslösenden Seiten auf, sodass der Webmaster fehlerhafte Links ohne weiteren Aufwand findet. Das Tool kommt nach Angaben des Entwicklers mit Logfiles klar, die größer als 2 GByte sind. Der Webalizer-Fork Stone Step Webalizer [3], wie Webalizer und Webalizer Xtended ebenfalls Open-Source, nutzt zur geografischen Lokalisierung Geoip von Maxmind [4].

Seine Stärke spielt Stone Step Webalizer beim Einsatz mit dynamischen Webseiten aus. Auf Wunsch filtert die Software Query-Parameter aus, die in bestimmten Szenarien die Statistik bis zur Unbrauchbarkeit verfälschen. Gibt es zum Beispiel in den URLs einer dynamisch erzeugten Seite einen Parameter »?res=big«, der das Content-Managementsystem anweist, für hohe Bildschirmauflösungen optimierte Seitenversionen auszuliefern, wertet die ursprüngliche Webalizer-Version »index.html?res=bit« und »index.html?res=small« als zwei verschiedene Seiten, obwohl es sich in beiden Fällen um die Einstiegsseite handelt.

Besonders wichtig für die Bewertung des Content ist die Analyse der Besuchszeiten, die Stone Step Webalizer aus den IP-Adressen im Apache-Log errechnet. Wie Webalizer Xtended schlüsselt der Stone Step Webalizer die 404-Fehler nach dem Verursacherprinzip auf.

Awstats

Mit seinem Geburtsdatum im Jahr 2000 ist der Log-Analizer Awstats ([5], Abbildung 3) immerhin jünger als Webalizer. Anachronismen wie die auf Domain-Endungen basierende geografische Analyse in Webalizer gibt es nicht. Die regionale Zuordnung basiert wie beim Stone Step Webalizer auf Geoip, sie analysiert die Zugriffe nicht nur nach Ländern, sondern nach Regionen und Städten. Technisch bedingt stellen solche differenzierten Zuordnungen auf der Basis der IP-Adressen allerdings nur grobe Näherungen dar.

Abbildung 3: Der in Perl programmierte Log-Analyzer Awstats stellt über sein Menü wesentlich mehr Reports zur Verfügung als Webalizer.

Abbildung 3: Der in Perl programmierte Log-Analyzer Awstats stellt über sein Menü wesentlich mehr Reports zur Verfügung als Webalizer.

Anders als der Klassiker lässt sich die Perl-Anwendung Awstats über das CGI-Interface auch als dynamische Webanwendung betreiben, die bei jedem Aufruf aktuelle Statistiken erzeugt. Ist dies aus Performancegründen unerwünscht, ist wie bei Webalizer ein Kommandozeilenaufruf oder der Start per Cronjob möglich. Awstats punktet gegenüber Webalizer und seinen Forks mit mehr Basisfunktionen. Als Nachteile bleiben, außer der größeren Datenfülle der Reports, nur die etwas aufwändigere Installation und die höhere CPU-Last, die die Perl-Anwendung im Vergleich zum C-Programm Webalizer verursacht.

Gut gefiltert

Ein wichtiges Feature, das Awstats der Webalizer-Familie voraus hat, ist ein Filter, der Suchroboter und einige verbreitete Internetwürmer aussortiert. Ungefiltert verfälschen deren Seitenaufrufe die Statistiken wenig besuchter Seiten oft erheblich. Die Software kommt anders als Webalizer auch ohne Patch mit den Logfiles des Microsoft-Webservers IIS zurecht und versteht auch die Ausgabe einiger FTP- und Mailserver. Wer auf seiner Webseite Dokumente wie PDFs oder Tar-Archive zum Download anbietet, sieht mit Awstats, wie viel Traffic dadurch entsteht. Die grafische Gestaltung der Awstats-Oberfläche lässt sich über CSS an das Site-Design anpassen.

Neue Erkenntnisse

Weder Webalizer noch Awstats werten die Reihenfolge aus, mit der Besucher die Seiten aufrufen. Pathalizer und Visitors stellen die Bewegungen der Besucher innerhalb der Site grafisch dar (Abbildungen 4 und 5) und analysieren, wie gut Menüs und die Verlinkung der Seiten in der Praxis funktionieren (siehe Kasten “Bewegungsmelder”)

Bewegungsmelder

Tools wie Awstats oder Webalizer, die lediglich Zugriffszahlen und -zeiten messen, lassen keine Rückschlüsse auf einen wichtigen Aspekt der Website-Gestaltung zu: die Bedienbarkeit der Menüstruktur oder der Verlinkung innerhalb der Site. Abhilfe schaffen die Tools Pathalizer [6] und Visitors [7]. Sie visualisieren den Weg, auf dem die Mehrzahl der Besucher die Seiten durchstöbert. Beide Werkzeuge setzen auf den Diagramm-Generator Graphviz [8] auf. Pathalizer liefert nur einfarbige Diagramme (Abbildung 4), differenziert aber bei den Kastenformen zwischen den Seiten, die Einstiegsstelle, Durchgangsstadium oder Endpunkt eines Seitenbesuchs bilden. Visitors liefert eine farbige Ausgabe. Links, die Besucher besonders häufig anklicken, hebt das Programm rot hervor (Abbildung 5).

Abbildung 4: Neue Einblicke: Pathalizer verfolgt genau, in welcher Reihenfolge ein Besucher die Seiten aufruft.

Abbildung 4: Neue Einblicke: Pathalizer verfolgt genau, in welcher Reihenfolge ein Besucher die Seiten aufruft.

Abbildung 5: Visitors arbeitet wie Pathalizer mit Unterstützung des Graphviz-Generators, liefert seine Ausgabe jedoch in Farbe ab.

Abbildung 5: Visitors arbeitet wie Pathalizer mit Unterstützung des Graphviz-Generators, liefert seine Ausgabe jedoch in Farbe ab.

Webalizer oder Awstats?

Einen Webalizer-Fork oder die letzte Originalversion aus dem Jahr 2002 zu nutzen empfiehlt sich heutzutage eigentlich nur, wenn die Detailfülle eines Awstats-Reports nicht erforderlich ist. Ein einfacher Kommandozeilenaufruf startet die Auswertung. Die Performance der C-Programme ist gut.

Im Ergebnis dieses Tests beerbt die ausgereifte Perl-Anwendung Awstats die Gemeinde Webalizer & Co: Sie bietet wichtige zusätzliche Funktionen wie das Ausfiltern der Suchroboter und startet sowohl von der Kommandozeile als auch als CGI-Webanwendung.

Infos

[1] Webalizer: [http://www.mrunix.net/webalizer]

[2] Webalizer Xtended: [http://www.patrickfrei.ch/webalizer/]

[3] Stone Step Webalizer : [http://www.stonesteps.ca/projects/webalizer]

[4] Geoip: [http://www.maxmind.com/app/ip-location]

[5] Awstats: [http://freshmeat.net/projects/awstats/]

[6] Pathalizer: [http://www.maxmind.com/app/ip-location]

[7] Visitors: [http://www.maxmind.com/app/ip-location]

[8] Graphviz: [http://graphviz.org]

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben