Logdateien
Protokollierte Daten
In einer Logdatei werden Daten über Ereignisse, die in einem laufenden Rechnersystem von Interesse sind, mitprotokolliert. Logdateien werden dabei für unterschiedlichste Zwecke erstellt. Hier einige Beispiele:
- Ein Schulserver protokolliert (je nach Einstellung) u.a., wann welches Programm auf welchem Rechner benutzt wurde.
- Web-Serber protokollieren u.a., wer welche Webseite wann aufgerufen hat.
- Die Rechner von Telekommunikationsanbietern protokollieren u.a., wann und wo welches Handy eingeschaltet war.
- Ein Flugschreiber in einem Flugzeug protokolliert u.a. alle Aktionen, die von den Piloten und den Maschinen durchgeführt werden.
- Auf einer Bank werden u.a. alle Geld-Transaktionen protokolliert, so dass man sie jederzeit rekonstruieren kann.
Mit der Erstellung von Logdateien eng verbunden ist das Problem der Vorratsdatenspeicherung. Häufig werden in Logdateien Daten über einen längeren Zeitraum gespeichert, die personenbeziehbar sind und Rückschlüsse auf das Verhalten der betreffenden Personen zulassen. Mehr hierüber in Abschnitt ???
Eine Webserver-Logdatei
Als Beispiel betrachten wir im Folgenden Daten aus einer Webserver-Logdatei:
... 85.180.188.237 - - [28/Dec/2015:13:38:12 +0100] "GET /programmierung/kara/algorithmen/exkurs_problemloesen HTTP/1.1" 200 5010 "https://www.google.de/" "Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG SM-N7505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36" 85.180.188.237 - - [28/Dec/2015:13:38:12 +0100] "GET /content/programmierung/kara/algorithmen/exkurs_problemloesen/kleeblatt_suchen_beispiel1_vorher.png HTTP/1.1" 200 3679 "http://www.inf-schule.de/programmierung/kara/algorithmen/exkurs_problemloesen" "Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG SM-N7505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36" ...
Die Daten sind hier recht komplex. Zur besseren Lesbarkeit hier nochmal der erste Datensatz, aber jetzt auf mehrere Zeilen aufgeteilt:
85.180.188.237 - - [28/Dec/2015:13:38:12 +0100] "GET /programmierung/kara/algorithmen/exkurs_problemloesen HTTP/1.1" 200 5010 "https://www.google.de/" "Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG SM-N7505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36"
Die Daten sind hier im sogenannten "Combined Log Format" dargestellt (siehe auch Wikipedia - Logdatei). Ziemlich kompliziert! In der Tabelle wird die Bedeutung der Daten kurz erläutert.
Daten | Bedeutung |
---|---|
85.180.188.237 | IP-Adresse des aufrufenden Hosts |
- | Benutzernamer, hier nicht erforderlich |
- | Passwort, hier nicht erforderlich |
[28/Dec/2015:13:38:12 +0100] | Zeitstempel bestehend aus Datum, Uhrzeit und Zeitverschiebung |
"GET /programmierung/kara/algorithmen/exkurs_problemloesen HTTP/1.1" | Anfrage an den Server |
200 | Antwort des Servers (200: erfolgreiche Anfrage) |
5010 | Dateigröße (Anzahl der Bytes) |
"https://www.google.de/" | Internetseite, von der angefordert wird |
"Mozilla/5.0 (Linux; Android 4.4.2; de-de; SAMSUNG SM-N7505 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/1.5 Chrome/28.0.1500.94 Mobile Safari/537.36" | Browser, Betriebssystem, ... des Benutzers |
Die hier gezeigten Daten protokollieren Anfragen an den inf-schule-Webserver. Interessant wäre es, wenn man viele solcher Daten auswerten könnte, z.B.: Wie viele Anfragen gibt es an welchen Tagen zu welchen Uhrzeiten? Welche Seiten werden oft bzw. selten alfgerufen?
Auf den folgenden Seiten werden wir uns am Beispiel einer Webserver-Logdatei mit der Auswertung der aufgezeichneten Daten beschäftigen.