Does this thing live?

Logfile-Auswertung

Fast jeden, der eine Webseite führt, dürfte zumindest ein wenig interessieren, wie oft diese besucht wird. Oft sieht man Counter, die aber meistens nur die absolute Anzahl an Zugriffen seit der Installation zählen, sonst aber keine weiteren Informationen liefern. Um ein wenig mehr Informationen über seine Besucher zu erhalten (also z.B. um rauszufinden, wo die herkamen), gibt es verschiedene Alternativen.

Skript kaufen, oder…

Externe Anbieter können über die Einbindung eines Counter-Bildchens in die Webseite Zugriffe protokollieren und stellen einem dann mehr oder weniger genaue Statistiken zur Verfügung. NedstatBasic oder eXTReMe Tracking sind Beispiele, ohne jetzt in irgendeiner Form eine Empfehlung aussprechen zu wollen.

Oftmals bekommt man auch entsprechende Statistiken von seinem Provider zur Verfügung gestellt. Diese werden oft mit dem Webalizer hergestellt.

Unter Umständen kann man auch direkt die Logfiles des Webservers runterladen und mit einem der zahlreichen verfügbaren Tools selbst auswerten. Auch hier kann man dann den Webalizer verwenden, für den es auch eine recht gute GUI von Tobias Schwarz gibt. Zu nennen wäre da noch Analog, das ich aber selbst noch nicht kenne.

…selbst mitschreiben

Ganz unabhängig der Server-Logs funktionieren Tools, die selbst die Zugriffe in eine eigene Datenbank protokollieren. Dazu gehören unter anderem das recht einfach gehaltene LogFiler von Michael Preidel und das deutlich grafischer ausgerichtete TrackPro von Curve2 Design. Beide benötigen einen PHP-fähigen Webserver und eine MySQL-Datenbank.

TrackPro baut einem neben der textuellen Auflistung der Zugriffe eine ganze Reihe von Graphen zusammen, z.B. den Traffic nach Uhrzeit oder im Monatsverlauf, nach verwendeter Suchmaschine, dem Browser oder vermuteter Herkunft des Besuchers.

Recht interessant finde ich persönlich die Anzeige der Referer, also der Seiten, über die ein Besucher hierher gekommen ist. Das sind in der Regel Suchmaschinen und aus der URL kann man dann auch den benutzten Suchstring auslesen. Ganz oben in der Liste sind hier zur Zeit immer noch die „Darmgrippe“ (seufz) und „Katzenfilme“ mit momentan ca 200 bzw. 140 Besuchern, meine Sunbird-Einträge von kürzlich scheinen aber schnell aufzuholen.

Bei der Auswertung der Referer stößt man allerdings schnell auf ein Problem. Offenbar gehen viele Spammer davon aus, dass die Referer auf Webseiten irgendwo angezeigt und damit auch von Google und Co. gefunden werden. Also werden Webseiten mit Seitenabrufen bombardiert, die offensichtlich gefälschte Referer angeben, nur um durch die dadurch unter Umständen entstehenden Links deren Pagerank bei Google zu erhöhen.

Das kann (neben dem ähnlich motivierten Kommentarspam) sehr lästig werden. Zwar werden die Referer im Gegensatz zu den Kommentaren hier nirgends angezeigt, dennoch verhagelt mir das die ganze Statistik, wenn da plötzlich über Nacht hunderte Spam-Abrufe drinstehen.

Man muss also hingehen, und die SQL-Datenbank von Logfiler und TrackPro manuell mit SQL-Abfragen der Art

DELETE FROM 'statistik_tabelle' WHERE referer LIKE '%doobu.com'

und ähnlichen bereinigen. Das löscht zwar auf einen Schlag alle entsprechenden Einträge, benötigt aber dennoch einiges an Zeit und Handarbeit. Die Bereinigung dieser Tabellen und des ganzen Kommentarspams kostet mich ein Vielfaches der Zeit, die das Löschen von Mailspam in Anspruch nimmt und kann einem den Spaß an so einer Seite manchmal ganz schön vermiesen. Da empfindet man die ganzen Diskussionen, die rund um Mailspam und seine Eindämmung per Gesetz zur Zeit geführt werden, schnell als lächerlich. Mailspam ist ein Problem, das nahezu 100%ig durch entsprechende Filter gelöst ist. Aber der Scheiß hier nimmt richtig Zeit weg.

Dankenswerterweise haben sich sowohl Logfiler als auch Trackpro dieses Themas angenommen. Man kann bei beiden angeben, welche Zugriffe nicht mitprotokolliert werden sollen. Während man das bei ersterem noch direkt in einem entsprechenden config-File machen muss, ermöglicht TrackPro das in der neuen Version 2 (aktuell in Beta) über die grafische Oberfläche:

Das funktioniert zwar nicht rückwirkend für bereits protokollierte Zugriffe, ist aber immer noch besser als nichts. Dieses Feature macht für mich auch den Hauptunterschied zur Version 1 aus, die das noch nicht konnte. Zumindest nicht ohne den Patch von Michael Urspringer.

Leider sind ein paar andere Dinge in der neuen Version für meine Begriffe weniger schön gelöst, als vorher. Aber vielleicht wird das ja noch bis zur endgültigen Veröffentlichung.

Noch ein Tipp zu TrackPro: Wer z.B. in einer MovableType-Installation Probleme mit den Pfaden bekommt, weil vielleicht die Archive nicht im root-Verzeichnis der Seite liegen, der sollte versuchen, die Pfade auf confdata.php und resourcea.php absolut in die tpro.php einzutragen. Und natürlich muss der include-Aufruf für die tpro.php in Unterverzeichnissen ggfs. inklusive relativem Pfad (‚../tpro.pho‘ statt ‚tpro.php‘) eingetragen werden.

One Comment to “Logfile-Auswertung” RSS feed for these comments

  1. Stefan Funke sagt:

    Wenn du Zugriff auf deine Access-Logs hast kann ich dir noch awstats empfehlen. Awstats kann bei Bedarf auch direkt auf dem Webserver als cgi laufen und bei Bedarf das Access-Log seit dem letzten Update auswerten. Vom Funktionsumfang würde ich es ähnlich TrackPro einschätzen wobei awstats dank der Logfiles natürlich noch mehr Informationen aufbereiten kann.

Leave a Reply to Stefan Funke