Logfile-Analyse: Das verrät das Webserver-Log über Ihre Besucher
Damit ein Computersystem richtig funktioniert, muss das Betriebssystem in der Regel diverse Prozesse gleichzeitig ausführen. Der Großteil dieser „Tasks“ findet dabei im Hintergrund statt, ohne dass der Benutzer etwas davon bemerkt. Damit die Aktionen ausgeführter Programme dennoch registrierbar sind, führen sie automatisch Protokoll in speziellen Protokolldateien, die auch als Logdateien bzw. Logfiles bezeichnet werden. In diesen sind bestimmte Aktivitäten und Ereignisse der jeweiligen Anwendung aufgeführt – wie zum Beispiel Fehlermeldungen, Einstellungsveränderungen, Programmzugriffe oder Absturzberichte. Erprobte Benutzer können den Dateien also Informationen über die Funktionalität entnehmen und sich gezielt auf Fehlersuche begeben. Wertet man die Logfiles eines Webservers aus, kann man dadurch auch Informationen über das allgemeine Verhalten der Seitenbesucher gewinnen. Überprüft man ein Log auf diese Art und Weise, spricht man von einer Logfile-Analyse.
Was ist eine Logfile-Analyse?
Die Logfile-Analyse, kurz auch Log-Analyse, bezeichnet den Vorgang der gezielten Inspektion und Auswertung einer Logdatei. Diese Methode dient beispielsweise dazu, Datenbank- und E-Mail-Übertragungsfehler zurückzuverfolgen oder die Aktivitäten der Firewall zu überprüfen. Am häufigsten kommt sie jedoch im Rahmen der Suchmaschinenoptimierung zum Einsatz. Wer sich nämlich die Mühe macht und die Server-Logfiles auswertet, kann so nützliche Informationen über Besucher und ihre Aktivitäten gewinnen. Ein Blick in das Log des Webservers kann zum Beispiel folgende Nutzerdaten offenbaren:
- IP-Adresse und Hostname
- Zugriffszeitpunkt
- vom Besucher verwendeter Browser
- vom Besucher verwendetes Betriebssystem
- Herkunftslink bzw. -URL
- verwendete Suchmaschine inklusive genutzter Keywords
- Verweildauer
- Anzahl aufgerufener Seiten
- zuletzt geöffnete Seite vor dem Verlassen der Website
Analyse des Webserver-Logs: Typische Probleme und Lösungsansätze
Das größte Problem der Webserver-Logfile-Analyse besteht darin, dass HTTP ein zustandsloses Protokoll ist: Das Übertragungsprotokoll, das für die Kommunikation zwischen Server und Client verantwortlich ist, behandelt also jede Anfrage separat. Der Webserver weist zwei verschiedene Seitenaufrufe eines einzigen Clients folglich auch zwei verschiedenen Instanzen zu – ein Fakt, der für die Analyse des allgemeinen Verhaltens eines Nutzers eher unpraktisch ist. Es gibt verschiedene Lösungsmöglichkeiten, um diese Problematik zu umgehen:
- Vergabe einer Session-ID: Bei der Session-ID, zu Deutsch Sitzungs-ID, handelt es sich um eine serverseitig generierte Nummer, die im Browser des Nutzers gespeichert wird. Wurde dem Besucher eine solche Identifikationsnummer zugewiesen, laufen über selbige alle Anfragen, die er an den Webserver stellt. Alle Aktionen werden also in einer einzigen Sitzung zusammengefasst.
Für die Zuweisung der ID-Nummer existieren zwei Möglichkeiten: Zum einen ist der Einsatz eines Cookies denkbar, das nach der ersten Anfrage beim Client gespeichert und anschließend bei jeder weiteren Kontaktierung des Servers übermittelt wird. Cookies sind allerdings nicht in der Logdatei sichtbar und setzen daher eine spezielle Programmierung für die spätere Analyse voraus. Zum anderen kann die Session-ID als URL-Parameter übermittelt werden. Für diese benutzerspezifischen Links ist jedoch ein hoher Programmieraufwand erforderlich. Auch aus SEO-Sicht ergeben sich Probleme durch die individuellen URLs. Derselbe Inhalt ist bei jedem Besuch des Crawlers unter einer anderen URL erreichbar, weshalb er schnell als Duplicate Content angesehen werden könnte.
- Nutzeridentifikation via IP-Adresse: Solange alle Aktionen eines Users auf dieselbe IP-Adresse zurückzuführen sind, können sie auf diese Art eindeutig zugewiesen werden. Voraussetzung ist (nach Meinung vieler Datenschutzexperten), dass der User der Erhebung seiner vollständigen IP-Adresse zu Analysezwecken im Vorhinein zugestimmt hat. Probleme bei dieser Erhebungsmethode treten immer dann auf, wenn Besucher ihre IP dynamisch zugewiesen bekommen und aus diesem Grund mehrfach gezählt werden oder wenn mehrere Nutzer – zum Beispiel via Proxyserver – mit derselben IP agieren.
- Zuhilfenahme serverunabhängiger Maßnahmen: Sogenannte Zählpixel – Basisbausteine des Page-Taggings – die unsichtbar in die Website eingebunden werden, liefern erweiterte Informationen, etwa über die Bildschirmauflösung und installierte Browser-Plug-ins. In Kombination mit der IP-Adresse und den Angaben über Browser und Betriebssystem können Nutzer dadurch bis zu einem bestimmten Grad unterschieden werden. Eine einhundertprozentige Aufteilung aller Nutzer ist auf diese Weise allerdings nicht möglich. Allerdings kann man mithilfe der Pixel Widgets oder AJAX-Elemente tracken. Bei einer einfachen Logfile-Analyse erhalten Sie keine speziellen Information über die Nutzungsweise selbiger. Ein weiteres Problem der Logfile-Analyse ist die Caching-Funktion der Webbrowser bzw. eingesetzter Proxy-Server. Diese sind zwar entscheidend für eine schnelle Auslieferung der angefragten Daten, sorgen allerdings auch dafür, dass die Benutzer nicht immer mit dem Webserver in Kontakt treten. Anfragen, die zwischengespeicherte Inhalte betreffen, erscheinen folgerichtig auch nur in eingeschränkter Weise (Statuscode 304 „Not modified“) in den Server-Logdateien. Abschließend sei auch erwähnt, dass für die dauerhafte Protokollierung, Speicherung und Auswertung der Serverzugriffe zusätzliche Ressourcen von Nöten sind – insbesondere bei Webprojekten mit sehr hohem Besucheraufkommen. Darüber hinaus fehlen der Logfile-Analyse wichtige Kennziffern wie die Absprungrate oder die Verweildauer der Besucher, weshalb sie nur als Ergänzung zu anderen Prüfinstrumenten und nicht als einzige Methode zur Besucheranalyse genutzt werden sollte.
Logdateien auswerten – so funktioniert’s
Um einen Eindruck von der Durchführung einer Logfile-Analyse zu gewinnen, sollte man zunächst einen Blick auf den Inhalt und die Struktur einer solchen Logdatei werfen. Beispielhaft dient hierfür das Log eines Apache-Webservers, das den Namen access.log trägt und automatisch im apache-Verzeichnis erzeugt wird.
Diese Informationen liefert das Apache-Log
Die erstellten Einträge sind im sogenannten Common Log Format (auch NCSA Common log format) gespeichert, das eine vorgegebene Syntax besitzt:%h %I %u %t "%r" %>s %b
Die einzelnen Bestandteile stehen dabei für folgende Informationen:
%h | IP-Adresse des Clients |
---|---|
%I | Identität des Clients, die standardmäßig nicht ermittelt wird. Daher findet man an dieser Stelle oftmals ein Minus (-), das eine fehlende Angabe im Logfile kennzeichnet. |
%u | Benutzer-ID des Clients, die beispielsweise bei Verzeichnisschutz mit HTTP-Authentifizierung zugeordnet wird; normalerweise nicht vergeben. |
%t | Zeitstempel des Zugriffszeitpunktes |
%r | Informationen über die HTTP-Anfrage (Methode, angeforderte Ressource und Protokoll-Version) |
%>s | Statuscode, mit dem der Server auf die Anfrage reagiert hat |
%b | Übertragene Datenmenge in Byte |
Ein vollständiger Eintrag im access.log sieht also in etwa so aus:
203.0.113.195 - user [07/Oct/2016:10:43:00 +0200] "GET /index.html HTTP/2.0" 200 2326
In diesem Fall hat der Client mit der IP-Adresse 203.0.113.195 und der User-ID user am 7. Oktober 2016 um 10.43 Uhr die index.html aufgerufen. Dabei hat er HTTP/2.0 verwendet. Der Server hat mit dem Statuscode 200 (Anfrage erfolgreich bearbeitet, Ergebnis wird übertragen) geantwortet und 2326 Byte übermittelt.
In der httpd.conf-Datei kann man die Logfile-Einträge außerdem um zwei weitere Angaben erweitern, indem man dem Log-Format die beiden Bestandteile \"%{Referer}i\" und \"%{User-agent}i\" hinzufügt. Auf diese Weise erfahren Sie, über welchen Link (Referrer) bzw. welche Seite Besucher zu Ihrem Webangebot gelangt sind, sowie welches Clientprogramm und welches Betriebssystem selbige verwenden. Dank letzterer Angaben ermöglicht dieses Combined Log Format auch die Verifizierung von externen Anwendungen, die Daten von Ihrem Webserver abrufen, wie zum Beispiel E-Mail-Programme und eingebettete Grafiken, aber auch Suchmaschinen-Crawler und Spam-Bots. Mehr Infos über die Eigenschaften der Logfiles finden Sie in unserem einleitenden Beitrag zum Thema.
In der httpd.conf-Datei kann man die Logfile-Einträge außerdem um zwei weitere Angaben erweitern, indem man dem Log-Format die beiden Bestandteile \"%{Referer}i\" und \"%{User-agent}i\" hinzufügt. Auf diese Weise erfahren Sie, über welchen Link (Referrer) bzw. welche Seite Besucher zu Ihrem Webangebot gelangt sind, sowie welches Clientprogramm und welches Betriebssystem selbige verwenden. Dank letzterer Angaben ermöglicht dieses Combined Log Format auch die Verifizierung von externen Anwendungen, die Daten von Ihrem Webserver abrufen, wie zum Beispiel E-Mail-Programme und eingebettete Grafiken, aber auch Suchmaschinen-Crawler und Spam-Bots. Mehr Infos über die Eigenschaften der Logfiles finden Sie in unserem einleitenden Beitrag zum Thema.
Tools ermöglichen die Analyse der Log-Einträge
Sofern Sie die notwendigen Rechte besitzen, um auf die Logdatei Ihres Webservers zuzugreifen, ist es theoretisch möglich, dass Sie einzelne Client-Zugriffe auf Ihr Projekt per Hand und ohne zusätzliche Hilfsmittel überprüfen. Nimmt man jedoch beispielhaft an, dass Ihre Website täglich rund 1.000 Besucher hat, die im Durchschnitt zehn Seiten aufrufen, entstünden täglich auch 10.000 neue Logdatei-Einträge, ohne dass die Aufrufe der eingebetteten Inhalte mitgezählt wurden – eine solch große Menge, dass Sie sie unmöglich manuell auswerten können. Sie benötigen für die Logfile-Analyse also Tools, mit denen Sie die Daten exportieren und segmentieren können. Ist der Umfang der Logdatei überschaubar, eignen sich hierfür herkömmliche Datenverarbeitungsprogramme wie Microsoft Excel: Zu diesem Zweck wandeln Sie das Logfile in das CSV-Format um und importieren die Datei im Anschluss – wie in der folgenden Anleitung von Microsoft beschrieben. In Excel strukturieren Sie die Informationen über die gesammelten Anfragen und sortieren selbige dann zum Beispiel nach IP-Adresse, Status-Code oder Referrer. Da es Begrenzungen hinsichtlich der Größe des importierten Logs gibt, stellen die Ergebnisse einer Excel-Logfile-Analyse allerdings immer nur eine Momentaufnahme dar. Für längerfristige Untersuchungen Ihres Traffics auf Basis von Logdateien empfiehlt sich daher der Einsatz eines Logfile-Analyzers. Anders als Kalkulationsprogramme sind diese Tools nämlich speziell für die grafische Darstellung und Auswertung von Logdateien entwickelt worden. In Dashboards, die über einen gewöhnlichen Browser aufrufbar sind, sind die bereits erwähnten Kennziffern, die dem Logfile entnommen werden können, visuell aufbereitet – teilweise geschieht dies sogar nahezu in Echtzeit, wie zum Beispiel bei dem Open-Source-Tool GoAccess, das wir an anderer Stelle vorgestellt haben.Logfile-Analyse und das Thema Datenschutz
Eine Logfile-Analyse, die Daten der Website-Besucher beinhaltet, berührt immer auch Aspekte des Datenschutzes, wobei in diesem Zusammenhang insbesondere zwei Aspekte hervorzuheben sind: Zum einen punktet das Analyseverfahren durch die Möglichkeit, alle ermittelten Daten auf dem eigenen Server zu speichern. Hosten Sie Ihren Webserver – und damit verbunden das Logfile – bei einem externen Anbieter, sollten Sie sich genau darüber informieren, welche Leistungen für einen sicheren Datenschutz er bietet. Es ist wichtig, dass der Standort der Server in der EU, bestenfalls in Deutschland, liegt, damit Sie einen hohen Grad an Datenintegrität gewährleisten und die Privatsphäre Ihrer Besucher angemessen schützen können. Bei Tracking-Tools wie Google Analytics treten diesbezüglich immer wieder Bedenken auf – nicht zuletzt aufgrund der Tatsache, dass alle Nutzerinformationen auf den Servern des Großkonzerns abgelegt werden, die größtenteils in den USA beheimatet sind.
Der zweite wichtige Punkt betrifft die Frage nach dem Personenbezug der erhobenen Logfile-Analyse-Daten. Während Informationen wie die Zugriffszeit, aufgerufene Seiten oder den verwendeten Browser kaum Informationen zu der konkreten Person liefern, sieht die Situation hinsichtlich der aufgezeichneten IP-Adresse gänzlich anders aus: Vor allem bei statisch vergebenen IP-Adressen kritisieren Datenschutzexperten die zumindest theoretisch gegebene Möglichkeit, direkten Personenbezug herstellen zu können. Die Standortlokalisierung auf Basis der IP ist in Deutschland sogar gänzlich verboten. Generell wird Webmastern geraten, die Adressen in anonymisierter Form zu speichern und spätestens nach einer Woche zu löschen, sofern keine gesetzliche Aufbewahrungspflicht besteht.
Wer seine Logfiles auswerten möchte, hat diese Option allerdings nicht, da die Anonymisierung das Zusammenführen der verschiedenen Aktionen eines einzelnen Users verhindern würde. Um auf Nummer Sicher zu gehen, sollten Webseitenbetreiber die Nutzer stattdessen über die Aufzeichnung der IP-Adresse zu Analysezwecken unterrichten, wie es das Telemediengesetz (§13) vorschreibt.
Der zweite wichtige Punkt betrifft die Frage nach dem Personenbezug der erhobenen Logfile-Analyse-Daten. Während Informationen wie die Zugriffszeit, aufgerufene Seiten oder den verwendeten Browser kaum Informationen zu der konkreten Person liefern, sieht die Situation hinsichtlich der aufgezeichneten IP-Adresse gänzlich anders aus: Vor allem bei statisch vergebenen IP-Adressen kritisieren Datenschutzexperten die zumindest theoretisch gegebene Möglichkeit, direkten Personenbezug herstellen zu können. Die Standortlokalisierung auf Basis der IP ist in Deutschland sogar gänzlich verboten. Generell wird Webmastern geraten, die Adressen in anonymisierter Form zu speichern und spätestens nach einer Woche zu löschen, sofern keine gesetzliche Aufbewahrungspflicht besteht.
Wer seine Logfiles auswerten möchte, hat diese Option allerdings nicht, da die Anonymisierung das Zusammenführen der verschiedenen Aktionen eines einzelnen Users verhindern würde. Um auf Nummer Sicher zu gehen, sollten Webseitenbetreiber die Nutzer stattdessen über die Aufzeichnung der IP-Adresse zu Analysezwecken unterrichten, wie es das Telemediengesetz (§13) vorschreibt.
Server-Logfiles auswerten: Solide Basis für Ihre Webanalyse
Das Aufzeichnen von Nutzerdaten gehört zu den wichtigsten Mitteln, um den Erfolg des eigenen Webprojektes zu messen. Nur wer die Entwicklung des Traffics und das Verhalten der Besucher in aller Regelmäßigkeit beobachtet, kann sein Angebot auch auf das angestrebte Publikum abstimmen. Anders als das Tracking mithilfe von Tools wie Piwik und Google Analytics beruht die Logfile-Analyse auf Daten, die standardmäßig und ohne Zuhilfenahme von JavaScript beim Server eingehen. Die Daten können also auch aufgezeichnet werden, wenn der Nutzer die Skriptsprache blockiert. Allerdings ist dieser Vorteil auch mit kleineren Einschränkungen verbunden: Während die Zuordnung von einzelnen Zugriffen zu bestimmten User-Sitzungen zwar möglich, aber wesentlich komplexer als beim Cookie-Tracking ist, fehlen der Logfile-Analyse einige Kennziffern wie die Absprungrate oder die exakte Verweildauer der Besucher.
Als schwierig erweist sich außerdem das Caching der Client-Programme. Es ermöglicht User-Requests ohne Serverkontakt, die nur in eingeschränkter Form im Webserver-Log auftauchen, sowie dynamische IP-Adressen, die eine konkrete Zuordnung der verschiedenen Zugriffe zu einzelnen Nutzern verhindern. Die Ergebnisse einer Logfile-Analyse sollten Sie daher in erster Linie als Momentaufnahme verstehen und – je nach Größe Ihres Webprojektes – ergänzend weitere Analysemethoden nutzen. Wenn Sie sich selbst um Hosting und Auswertung der Logdatei kümmern und Ihre Besucher über die Aufzeichnung von IP-Adresse und Co. in Kenntnis setzen, haben Sie aber in jedem Fall eine solide und datenschutzkonforme Basis für die Evaluation des Userverhaltens. Insbesondere bei der Unterscheidung von Mobile- und Desktop-Traffic sowie der Erfassung von Bots wie dem Google-Crawler ist die Log-Analyse von großem Nutzen.
Als schwierig erweist sich außerdem das Caching der Client-Programme. Es ermöglicht User-Requests ohne Serverkontakt, die nur in eingeschränkter Form im Webserver-Log auftauchen, sowie dynamische IP-Adressen, die eine konkrete Zuordnung der verschiedenen Zugriffe zu einzelnen Nutzern verhindern. Die Ergebnisse einer Logfile-Analyse sollten Sie daher in erster Linie als Momentaufnahme verstehen und – je nach Größe Ihres Webprojektes – ergänzend weitere Analysemethoden nutzen. Wenn Sie sich selbst um Hosting und Auswertung der Logdatei kümmern und Ihre Besucher über die Aufzeichnung von IP-Adresse und Co. in Kenntnis setzen, haben Sie aber in jedem Fall eine solide und datenschutzkonforme Basis für die Evaluation des Userverhaltens. Insbesondere bei der Unterscheidung von Mobile- und Desktop-Traffic sowie der Erfassung von Bots wie dem Google-Crawler ist die Log-Analyse von großem Nutzen.