StartseiteSupporttechn. InformationenWebserverWebstatistik

Zur Arbeitsweise von Webserver-Statistik-Software.

  1. Einführung
  2. Datengrundlage (Logfiles)
  3. Möglichkeiten/Arbeitsweise von Webserver-Statistik-Software
  4. Fazit
  5. Alternativen

1. Einführung

Dieses Dokument bezieht sich auf Webalizer. Diese Erklärungen treffen im Prinzip aber auf alle Webserver-Statistik-Software-Pakete zu.

Um zu verstehen, wie eine Webserver-Statistik-Software arbeitet, muss man zuerst einmal wissen, welche Daten der Webserver für eine Analyse bereitstellt und wie diese Daten zustande kommen. Ausserdem ist es, zumindest in Grundzügen, notwendig zu verstehen, wie das HTTP (Hyper Text Transport Protocol)-Protokoll arbeitet und wichtig, dessen Stärken und Schwächen zu kennen.

Im folgenden Text ist mit 'Client' ein Web-Browser (Mozilla, Firefox, Internet-Explorer, o.ä.) gemeint.

2. Datengrundlage (Logfiles)

Die Auswertungen von einer Webserver-Statistik-Software basieren in der Regel auf den Logfiles des Webservers.

Was wird wie geloggt?

Im Prinzip wartet ein laufender Webserver über das Netzwerk auf Anfragen eines Clients (z.B. durch einen Browser) und sendet eine Antwort an den anfragenden Client (z.B. Browser) zurück.

Jede Anfrage ist (in der Regel) eine Anfrage nach einer eindeutigen URL auf die der Server im Erfolgsfall (Datei gefunden) die angefragte Datei zurück liefert oder, falls keine passende Datei gefunden werden kann, einen Fehler-Code an den Client sendet.

Jede Anfrage eines Clients wird vom Web-Server in dessen Log-File protokolliert.

Am Besten sieht man das an einem kleinen Beispiel:

Stellen Sie sich eine einfache HTML-Seite 'mypage.html' vor, die 2 Bilder ' myimage1.jpg' und ' myimage2.jpg' enthält.

Eine typische Client/Server Kommunikation könnte wie folgt aussehen:

  • Der Browser fragt den Server nach der URL mypage.html
  • Der Server sieht die Anfrage und sendet als Antwort die HTML-Datei mypage.html
  • Der Browser entdeckt, dass in der HTML-Seite Grafiken eingebunden sind und fragt nach der 1. dieser Grafiken myimage1.jpg
  • Der Server sieht die Anfrage und sendet als Antwort die Datei myimage1.jpg
  • Der Browser fragt nach der 2. Grafik myimage2.jpg
  • Der Server sieht die Anfrage und sendet als Antwort die Datei myimage2.jpg
Für die Anfragen aus unserem Beispiel sehen die Logeinträge dann z.B. so aus:
IP des Clients    Zeit  

192.168.10.10 - - [03/Apr/2006:12:00:08 +0200] 
192.168.10.10 - - [03/Apr/2006:12:00:08 +0200] 
192.168.10.10 - - [03/Apr/2006:12:00:08 +0200] 

HTTP-Methode / Version      Status/Bytes  Referrer 
      
"GET /mypage.html HTTP/1.1" 200 438 "http://www.example.org/" "Mozilla/5.0"
"GET /myimage1.jpg HTTP/1.1" 200 799 "http://www.example.org/mypage.html" "Mozilla/5.0"
"GET /myimage2.jpg HTTP/1.1" 200 824 "http://www.example.org/mypage.html" "Mozilla/5.0"

Hier sieht man für die 3 Anfragen des Clients jeweils den entsprechenden Logeintrag mit weiteren Informationen zur Anfrage.

Und da wären wir auch schon beim zentralen Punkt: Nur Diese Informationen stehen zur Analyse und Aufbereitung durch eine Statistik-Software zur Verfügung.

Welche Informationen kann man aus Webserver-Log-Einträgen auslesen?

  • Die IP-Adresse des Clients, der die Anfrage gestellt hat (192.168.10.10)
  • Die Zeit, wann die Anfrage registriert/bearbeitet wurde
  • ([03/Apr/2006:12:00:08 +0200])
  • Die HTTP-Anfrage-Parameter-Methode (GET oder POST), die angefragte URL (/mypage.html) und die HTTP-Version (HTTP/1.1)
  • Den Status-Code, den der Server an den Client gesendet hat (200 = alles ok). Alternativ andere Statuscodes, wie z.B. 404 = "File not Found" (angefragte URL kann nicht gefunden werden)
  • die Menge der ausgelieferten Bytes (438)
  • Den Referrer (woher kommt die Anfrage? http://www.example.org/)
  • Den Browser-Typ mit dem der Client sich meldet (Mozilla/5.0)
Auf den ersten Blick sieht dies nach brauchbaren und umfangreichen Informationen für jede Anfrage aus. Zu beachten ist aber, dass nur ein Teil dieser Informationen als sicher, bzw. absolut zu werten ist!

Die einzigen wirklich sicheren Informationen sind: Welche URL wurde wann angefragt und wie hat der Server darauf geantwortet?

Alle anderen Informationen werden für Statistiken mitgewertet und interpretiert, können aber nicht als sicher eingestuft werden!

3. Möglichkeiten/Arbeitsweise von Webserver-Statistik-Software

Wie oben beschrieben stehen als Grundlage für die Analyse lediglich die Server-Log-Files zur Verfügung.

Wie ebenfalls schon angesprochen ist aber nur ein Teil der Informationen als sicher und absolut einzustufen.

Der Hauptgrund dafür liegt im HTTP-Protokoll, auf dem die Kommunikation zwischen Client und Webserver basiert.

  • HTTP ist ein zustandsloses Protokoll, d.h. JEDE Anfrage ist für sich erst einmal vollkommen eigenständig und kann nur anhand von Annahmen, anderen Anfragen zugeordnet werden.
  • Einige der Informationen, die der Client an den Browser schickt sind optional, bzw. leicht zu fälschen (IP-Adresse, Browserkennung,...).

Welche Zahlen/Auswertungen sind als sicher einzustufen?

  • Hits gesamt pro Zeitraum: Anzahl Logfilezeilen im Zeitraum n
  • Hits pro Datei/URL pro Zeitraum: Anzahl Logfilezeilen mit gleichen URLs im Zeitraum n
  • Anzahl der erfolgreichen, bzw. nicht erfolgreichen Anfragen: Anzahl Logfilezeilen mit einem bestimmten HTTP-Statuscode im Zeitraum n
  • Anzahl Bytes, die der Server ausgeliefert hat: Summe der Byte-Angaben aus den Logfiles. Bitte beachten Sie, daß dieses Volumen nicht dem abzurechnenden IP-Volumen entspricht, da hier nur ausgelieferte Dateien berücksichtigt werden, nicht aber Anfragen und HTTP-Header der ausgelieferten Dateien.
Alle anderen Auswertungen basieren auf nicht sicheren Daten, bzw. basieren auf Annahmen, welche die Statistik-Software trifft.

Auswertungen, die auf nicht sicheren Daten basieren:

  • Kennung des Browsers: Mit Opera ist es z.B. möglich die Kennung auf alle üblichen Browser, wie z.B. Internet-Explorer zu ändern.
  • Referrer: Nicht bei jeder Anfrage zwingend vorhanden bzw. leicht zu fälschen oder über entsprechende Software zu verschleiern (Anonymizer).

Auswertungen, die auf Annahmen basieren:

  • Visits/Besuche: Anhand bestimmter Parameter wird versucht, Zugriffe im Zeitraum n von der selben IP-Adresse zu einem Visit/Besuch zusammen zu fassen. Auch wenn dies für viele Website-Betreiber eine der wichtigsten Zahlen ist, ist es gleichzeitig eine der unsichersten Auswertungen:
    Nehmen wir an, wir haben eine Anfrage auf unsere Seite von IP-Adresse A, 1 min später eine Anfrage von IP-Adresse B und weitere 10 min später nochmal eine Anfrage von IP-Adresse A. Man könnte also annehmen, dass es zwei Besuche auf diese Seite waren. Aber Vorsicht! Dies ist eine Annahme; nicht mehr und nicht weniger! Hier ein paar Gründe warum diese Zahlen nur Näherungswerte sein können:
    + Wenn IP-Adresse A einer Firewall gehört, könnten die beiden Anfragen von IP-Adresse A von unterschiedlichen Usern kommen.
    + Wenn User XY über einen Reverse-Proxy surft oder dynamisch IP-Adressen zugewiesen bekommt, können alle drei Anfragen von ein und dem selben User kommen.
    + Wenn ein User vor einem erneuten Aufruf für das Lesen der Seite länger braucht als der für einen Besuch von der Stats-Software festgelegte Timeout, werden zwei Besuche gezählt.
    + Wenn Statistiken pro Nacht berechnet werden, werden Besuche, die vor der Berechnung beginnen und nach der Berechnung weitergehen, als zwei Besuche gezählt.
  • Zuordnung zu Ländern: Die Zuordnung von Anfragen zu Ländern basiert auf der IP-Adresse des Clients, bzw. der Zuordnung dieser zu einer Top-Level-Domain, wie z.B. .de, .com, .net, usw.
    Beispiel: Alle Anfragen aus dem Firmennetz example.net kommen real aus Deutschland, da die Firma dort Ihren Sitz hat, werden aber dem Block 'Netzwerke (NET)' und nicht 'Deutschland' zugeordnet.

4. Fazit

Bis auf die Auswertungen, die basierend auf den absoluten Hit-Zahlen (Anzahl der Anfragen) gemacht werden, sind alle anderen Auswertungen als Näherungswerte zu verstehen!

Sie können also mit grosser Sicherheit aus den Statistiken ablesen:

  • Wie oft werden Ihre Seiten aufgerufen
  • Wie oft wird welche Ihrer Seiten aufgerufen
  • In welchen Zeiträumen werden vermehrt bestimmte Seiten aufgerufen
Aber die Auswertungen der Visits/Besuche basieren zum Beispiel auf unsicheren Annahmen und können daher auch nicht als absolute Zahlen gewertet werden.

5. Alternativen

Jede Webserver-Statistik-Software, die auf einer reinen Auswertung der Webserver Logfile basiert, unterliegt prinzipiell den o.g. Einschränkungen, auch wenn die Parameter für die Annahmen von Software zu Software unterschiedlich genau sind und manche Anbieter (vor allem die kommerzieller Produkte) mit sicheren Zahlen werben. Im Bereich der User-Verfolgung (Visits/Besuche, "wie bewegen sich die User auf den Seiten") kann nur eine in der Seite selbst integrierte Funktionalität sichere/bessere Zahlen liefern, z.B. durch ein intelligentes Session-Management.

$Id: webstatistik.inc,v 1.14 2006/07/06 11:36:26 jg Exp $