LU08a - LogFile Basics

Lernziele

Einleitung

Logfiles sind von entscheidender Bedeutung für Computer, besonders für den Betrieb eines Webservers. Mit ihrer Hilfe können sowohl generelle Webserver-Probleme wie auch Angriffe auf den Server erkannt werden.

LogFiles protokollieren alle Benutzertransaktionen (Zugriffe) sowie Zustände, Aktionen und Fehler des WebServers. Aus ihnen lassen sich neben Informationen zum Benutzungs- und Navigationsverhalten auch Informationen und Rückschlüsse über Zugangswege und Verlinkungen von Webinhalten auswerten.

Definition Logdatei bzw. LogFile

Eine Logdatei (auch Ereignisprotokolldatei, Englisch „log file“) enthält das automatisch geführte Protokoll aller oder bestimmter Aktionen von Prozessen auf einem Computersystem.

LogFiles eines WebServers sind strukturiert aufgebaute Textdateien. Sie bestehen aus ASCII-Zeichen, in denen die Zugriffe auf den WebServer gespeichert werden. Der WebServer schreibt dazu für jede http-Transkation (e.g. Aufruf einer Seite, Ausführen eines Scripts) eine Log Zeile mit Informationen, die diese Transkation betreffen. Eine Zeile im LogFile stellt somit eine Anfrage an den WebServer dar.

Webserver-Logfiles

Arten von LogFiles eines Webservers

Zwei Arten von Standard-Logfiles Die meisten WebServer führen im Standard die zwei LogFiles Acceess.log und Error.log. Es lassen sich aber noch zusätzliche LogFiles für spezielle Anwendungen oder Auswertungen konfigurieren, sogenannte Custom_logs.

Access.log - Das Zugriffsprotokoll

Im Zugriffsprotokoll werden sämtliche grundlegenden Informationen über jede HTTP-Transaktion gespeichert. Es protokolliert auf welche Dokumente zu welchem Zeitpunkt zugegriffen wurde. Mit diesem Protokoll kann ein einen Überblick über die Funktion und Auslastung des WebServers verschafft werden.

Error.log - das Fehlerprotokoll

Im Fehlerprotokoll werden alle Fehler notiert. Gerade in der Aufbauphase eines WebServers, bei Konfigurationsänderungen oder der Installation von Programmen, kann ein ausführliches Fehlerprotokoll schnell Hinweise auf mögliche Fehlerursachen geben.

Aufbau eines Logfiles

Das Format der Einträge in das Zugriffsprotokoll kann konfiguriert werden. Die übliche Variante ist das CLF (Common Log Format ). Ein Eintrag in diesem Format sieht folgendermassen aus.

Aufbau eines Logfiles

Feld Beispiel Beschreibung
Host [%h] 120.0.0.7 IP-Adresse oder vollständiger Domainname des zugreifenden Rechners.
Ident [%l] - Wenn die IdentityCheck-Anweisung in der Konfigurationsdatei aktiviert wurde und auf dem Clientrechner ein ident-Daemon installiert ist, wird hier der vom Client gelieferte Name des Benutzers auf dem Clientrechner eingetragen, sonst „-“.
Authuser [%u] - Bei Zugriffen auf zugangsgeschützte Dokumente oder Verzeichnisse wird hier der verwendete Benutzername eingetragen, sonst „-“.
Date [%t] 06/Jan/2016:11:14:33 +0100 Dieses Feld zeigt das Datum und die Uhrzeit der Anfrage, sowie Informationen zu der Zeitzone an.
Status [%>s] 200 Dieses Feld zeigt den Statuscode der Antwort an und damit, ob die Anfrage erfolgreich war, oder ob ein Fehler aufgetreten ist. Die wichtigsten Codes:
200 = OK
206 = Partial Content
301 = Moved Permanently
302 = Found
304 = Not Modified
401 = Unauthorised (password required)
403 = Forbidden
404 = Not Found
500 = Internal Server Error
Bytes [%b] 13872 Hier wird die Größe der vom Server an den Client ausgelieferten Daten (ohne HTTP-Header) in Bytes angegeben.
Referer [%{Referer}i] http://www.go.ch/search?q=Java&start=20&sa=N Der Referer gibt an, welche Seite ein Besucher vor dem aktuellen Aufruf besucht hat und beschreibt somit die Navigation eines Benutzers zwischen verschiedenen Web-Seiten über definierte Linkbeziehungen.
UserAgent [%{User-Agent}i] Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 Der User Agent beschreibt der vom Benutzer verwendete Browser.

Nachteile der Logfile Analyse

Die Nachteile der Logfile Analyse:

Quellennachweis


Volkan Demir