Inhalt
Logauswertung mal ganz anders. Mit Logstalgia lassen sich Logfiles von Apache Webservern entweder in Echtzeit streamen oder nachträglich visualisieren, allerdings in „Pong“-ähnlicher Optik – als Gefecht zwischen dem Webserver und den ankommenden Anfragen.
Logstalgia ist ein Tool mit dem sich der Inhalt der Apache Webserver Access-Logs visualisieren lässt. Die Besonderheit hier ist die „Pong“ ähnliche Optik. Die verschiedenfarbigen Punkte repräsentieren die unterschiedlichen Anfragen die von links auf den Webserver zukommen. Erfolgreich beantwortete Anfragen werden vom „Schläger“ wieder zurückgegeben, fehlgeschlagene Anfragen (z.B. Fehler 404 – Datei nicht gefunden) laufen ohne erfolgreiche Rückgabe einfach weiter durch.
Herunterladen lässt sich Logstalgia hier: https://code.google.com/p/logstalgia/
Voraussetzung zum Ausführen ist eine OpenGL fähige Grafikkarte. Obwohl das Programm schon etwas älter ist, läuft es hier ohne Probleme unter Win7-64Bit und Ubuntu 13.04. Installation unter Windows: Einfach die Datei mit .win32.zip am Ende herunterladen, in ein Verzeichnis entpacken und die „logstalgia.exe“ starten. Installation unter Linux, siehe weiter unten. Für den Anfang kann man die Logdatei „example.log“ im Unterordner „data“ verwenden.
Die Programmierer weisen darauf hin, dass das Programm ursprünglich zum Echtzeitmonitoring entwickelt wurde und deshalb einige hundert Anfragen pro Minute erforderlich sind, um eine ansprechende Visualisierung zu erreichen.
In der Datei „readme.txt“ finden sich Beispiele für verschiedene Optionen, mit denen sich Logstalgia starten lässt. Dazu erstellt man sich am Besten eine Verknüpfung und fügt die entsprechenden Parameter in den Zielpfad ein. Beispiel:
"xxx\logstalgia-1.0.3.win32\logstalgia.exe" -1280x720
Das habe ich für den Screencast benutzt.
Logstalgia unterstützt mehrere Standard-Access-Log Formate die z. B. von Apache oder Nginx erzeugt werden.
Während der Wiedergabe kann jederzeit mit der Space-Taste pausiert werden. Wenn man dann mit dem Mauszeiger über einzelne Anfragen fährt, sieht man weitere Details wie den Useragent oder die IP-Adresse.
Echtzeit Visualisierung von Logfiles
So, bis hier hin war das alles nur Spielerei (unter Windows). Wer sich in Echtzeit informieren will, was auf seinem Server so abgeht, öffne bitte unter Fedora, Debian und Ubuntu ein Terminal.
$ sudo apt-get install logstalgia
installiert Logstalgia. Die Syntax ist folgende:
logstalgia access_log
logstalgia /var/www/httpd/access_log
logstalgia [options] /var/www/httpd/access_log
Statt [options] können die Beispiele aus der „readme.txt“ eingefügt werden. Hier ein Beispiel zum Testen: Um z.B. die Datei /var/www/apache2/access.log mit den Standardeinstellungen zu betrachten, gibt man folgendes in das Terminal ein:
$ logstalgia /var/www/apache2/access.log
Die Variante mit der automatischen Aktualisierung (Echtzeit) ist dann:
$ tail -f var/log/httpd/access_log | logstalgia --sync
Um eine Logdatei live von einem entfernten Server zu verwenden, sollte man aus Sicherheitsgründen eine SSH Session starten.
ssh BENUTZER@SERVER.COM tail -f /var/www/apache2/access.log | logstalgia --sync
Weiterführende Informationen, wie man Logstalgia dazu bringt den Stream-Output als Video auszugeben, Tastenkombinationen oder wie die Installation unter anderen Betriebssystemen funktioniert, gibt es hier.
Sinnvolle Einsatzmöglichkeiten von Logstalgia
Hm… ist schon etwas begrenzt, die ganze Geschichte. Eine Abwechslung zum Betrachten der Logs im Apache Log Viewer ist es aber allemal. Wir haben mal für Kunden das Livestreaming aufgesetzt und dann Lasttests durchgeführt, das war für die Kunden besser nachzuvollziehen, als sich statische Diagramme anzuschauen. Das ist meiner Meinung nach auch der häufigste Einsatzzweck des Tools. Logstalgia ist übrigens ein Projekt von The Alpha Blenders.
Viel Spaß beim Ausprobieren.