Logfile-Auswertungen mit GoAccess

mit dem Open-Source-Tool „GoAccess“ lassen sich LogFiles diverser Webserver, z.B. Apache oder NGINX, sowie auch Logfiles von einem SQUID-Proxy grafisch auswerten, entweder über die CLI oder über Web.

Installation unter Ubuntu

Die Installationspakete können unter entweder unter https://goaccess.io/ heruntergeladen werden, oder noch einfacher unter Debian-basierten Systemen wie Ubuntu mittels apt installiert werden.

sudo apt-get update
sudo apt-get install goaccess

Im Anschluss kann das Tool direkt genutzt werden

Bedienung

Um beispielsweise ein Apache-Logfile auszuwerten, gibt es 2 Möglichkeiten:

  • Auswertung über CLI
  • Auswertung mit einem Webbrowser

Auswertung über CLI

Folgender Befehl ist für die Auswertung anzuwenden:

goaccess /var/log/apache2/access.log -c

Nach Eingabe dieses Befehls erscheint eine weitere Abfrage:

Hier können die unterschiedlichen Formate des Logfiles ausgewählt werden. Für eine Apache Standard-Installation ist der oberste Beitrag hier ausreichend.

Im Anschluss beginnt GoAccess damit das Logfile auszuwerten. Je nach Größe und Geschwindigkeit des Servers dauert dieses ein paar Sekunden bis zu mehreren Minuten.

Nun können mittels [TAB] die unterschiedlichen Ergebnisse durchsucht werden. Mit [ENTER] kann das gewählte Ergebnis vergrößert werden. Innerhalb der auswählten Ergebnisse kann mit [PAGE-UP] & [PAGE-DOWN] gescrollt werden.

Ein Beispiel sind z.B. die Hostnames und IP-Adressen der Besucher (hier aus Datenschutzgründen maskiert):

Folgende Informationen werden durch GoAccess hier ausgewertet:

  • Unique visitors per day – Including spiders
  • Requested Files (URLs)
  • Static Requests (URLs)
  • Not Found URLs (404s)
  • Visitor Hostnames and IPs
  • Operating Systems and IPs
  • Browsers Systems and IPs
  • Time Distribution and IPs
  • Referring Sites and IPs
  • HTTP Status Codesand IPs
  • Geo Location

Beendet wird die Ausgabe auf der CLI mit [Q].

Auswertung über Web

Alle diese Informationen lassen sich auch als Webseite ausgeben. Die Informationen werden als HTML-Datei auf dem Filesystem abgelegt.

Um die Webseiten-Datei zu generieren, muss folgender Befehl ausgeführt werden:

goaccess /var/log/apache2/access.log --log-format=COMBINED -o /var/www/html/goaccess.html

Um die Datei anzeigen zu können muss diese entweder auf einen Rechner mit Webbrowser kopiert werden oder man installiert einen Webserver auf dem Server, auf dem GoAccess installiert ist. Beide Varianten liefern dasselbe Ergebnis.

Hier werden die selben Informationen angezeigt wie in der CLI, allerdings schöner aufbereitet, um diese z.B. dem Vorgesetzten zu präsentieren.

Fazit

Mit GoAccess können Logfiles einfach und schnell ausgewertet werden. Die Ergebnisse können sich durchaus sehen lassen und die Werte können auch schneller gelesen werden, wenn z.B. zu einer bestimmten Zeit sehr viel Traffic auf dem Server zu verzeichnen war.

Sascha Jelinek