Formatwirrwarr

Glücklicherweise haben sich in der Vergangenheit auch bei Log-Dateien ein paar Standards durchgesetzt. Recht häufig trifft man auf das Common Log File Format (kurz CLF), das Combined Log File Format oder das Extended Log File Format (ELFF) des World Wide Web Consortium (W3C). Microsoft kocht mit seinem Internet Information Server (IIS) sein eigenes Süppchen.

Neben dem wilden Formatwuchs existiert noch ein zweites Problem: Da der Webserver wirklich jede noch so kleine Anfrage protokolliert, wachsen die Logfiles schon bei kleinen Auftritten zu stattlichen Dimensionen heran. So genannte Log-Rotation ist ein Weg, mit diesem Problem umzugehen (siehe Kasten "Rotierende Daten" und "Geschichtskurs").

Rotierende Daten

Da die Logfiles schon bei mittelgelgroßen Auftritten recht umfangreich werden können, verwenden die meisten Hoster ein mehrstufiges Prinzip, das auch Betreibern eigener Webservers anzuraten ist: Nach einem vorgegebenen Zeitraum, meist ein Tag oder eine Woche, erstellt der Webserver eine neue Logdatei. Um Platz zu sparen, verpackt er die alte noch brav per Gzip. Einige der vorgestellten Analyzer können direkt mit der Verpackung umgehen, für andere ist die Gz-Hülle vorher zu entfernen.

Um weiteren Plattenplatz zu sparen, werfen viele Hoster ältere Log-Dateien automatisch über Bord. In diesen Fällen heißt es regelmäßig sichern. Um keine der wichtigen Daten zu verlieren, arbeiten deshalb einige Log-Analyzer direkt auf dem Server. In kurzen, frei definierbaren Abständen, werten sie die bis zu diesem Zeitpunkt gesammelten Informationen aus und aktualisieren ihre Statistiken. Voraussetzung hierfür ist jedoch ein Hosting-Paket mit umfangreicheren Ausführungsrechten: Zum einen müssen die Anaylzer beispielsweise per Cron immer wieder durchlaufen, zum anderen verlangen die meisten nach der CGI-Schnittstelle.

Geschichtskurs

Im Normalfall schlucken die Analyzer eine oder mehrere Log-Dateien, und spucken das Ergebnis als HTML-Datei wieder aus. Dies bedeutet umgekehrt, dass man zunächst alle Log-Dateien über den zu betrachtenden Zeitraum sammeln muss. Einige Analyzer bieten deshalb an, sie nur mit den jeweils neuesten Daten zu füttern. Die frischen Informationen integrieren sie dann automatisch in ihre bereits bestehenden Ergebnisse (Webalizer bezeichnet ein solches Vorgehen als "incremental processing"). Auf diese Weise ist die Auswertung immer auf dem neuesten Stand und man spart nebenbei auch noch Rechenzeit. Damit das reibungslos klappt, müssen sich die Log-Analyzer die zurückliegenden Ergebnisse irgendwo merken. Dies geschieht meist in einer Datei, der so genannten History oder auch Archiv. Da sie lediglich die Auswertungsergebnisse enthält, ist sie im Idealfall wesentlich kleiner, als die bis dahin aufgelaufenen Logfiles. Wie man eine Archivdatei erstellt und einbindet, hängt vom verwendeten Analyzer ab. Relax stellt man beispielsweise den Parameter »-a<§§I>Archivdatei<§§i>« hinten an. Webalizer verwaltet in der Voreinstellung seine History-Datei vollautomatisch, jedes neu eingelesene Logfile wandert dort direkt zum bestehenden Datenbestand.

Impressionen

Alle Analyzer unterscheiden zwischen Hits und Page Views (auch Page Impressions genannt). Ein Hit bezeichnet die Anforderung eines einzelnen Elements, zum Beispiel eines Bilds. Demgegenüber versteht man unter einem Page View eine komplette Seite mit all ihren Elementen. Betrachtet der Besucher beispielsweise eine HTML-Seite mit drei Bildern, hat er insgesamt vier Hits beim Abruf der Seite ausgelöst (ein HTML-Dokument und drei Bilddateien).

Gerade im Hinblick auf Werbekunden ist es wichtig zu wissen, wie viele reale Menschen den Internetauftritt besucht haben (die so genannten Visits). Derzeit gibt es aber kein Mittel, alleine anhand der im Logfile gespeicherten Informationen einen Benutzer eindeutig zu identifizieren. Zwar surft jeder Internetteilnehmer mit einer nur ihm zugeordneten IP-Adresse, diese vergeben die meisten Internetprovider jedoch dynamisch: Sobald sich ein Benutzer abgemeldet hat, surft ein anderer unter der gleichen Adresse weiter. Unter Umständen teilen sich sogar mehrere Benutzer eine IP-Adresse, beispielsweise wenn ein NAT-Router das Heimnetzwerk vom Internet abschottet. Dem Weblog-Analyzer bleibt somit nur ein kleiner Trick: Er nimmt einfach an, dass alle Anfragen von einer IP-Adresse in einem festen Zeitraum, von ein und derselben Person stammen. Diesen Zeitraum bezeichnet man allgemein als Sitzung (Session).

Hinter den IP-Adressen verbergen sich aber noch mehr Informationen, die jedoch nur ausgewählte Analyzer zu nutzen wissen. Sie ermitteln über entsprechende DNS-Anfragen auch die Namen der anfragenden Rechner und deren Standardorte. In den Statistiken tauchen dann keine schwer verdaulichen Nummern mehr auf, sondern die kompletten Rechnernamen. Man sieht somit schneller, von welchem Provider oder Institut aus die meisten Zugriffe stattfanden und anhand der Top-Level-Domain aus welchen Ländern sie erfolgten.

Durchweg alle Analyzer verlangen nach einer mehr oder weniger kryptischen Konfigurationsdatei, grafische Benutzeroberflächen sind extrem rar. Unglücklicherweise leiden zudem fast alle Werkzeuge unter der Kargheit der Dokumentation. Einzige Hilfestellung bieten die Kommentare in der Konfigurationsdatei. Eine Ausnahme bilden die Werkzeuge, die direkt auf dem Server laufen. Sie bieten in der Regel ein kleines HTML-Frontend, über das sich zumindest an einigen wichtigen Schrauben drehen lässt.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019