GoAccess als einfacher Web Log Analyzer

GoAccess als einfacher Web Log Analyzer

Tags:

Inspiriert durch die Neuauflage von Piwik 1, wollte ich mal schauen, welche Self Hosted Web Analyzer noch so existieren.
Das Ergebnis war ernüchternd. Piwik ist wirklich der Platzhirsch unter den Analyseprogrammen. Mint, mein Favorit, wird nicht mehr weiter entwickelt und der Rest ist kaum der Rede wert (was die Suchmaschine so ausgegeben hat).

Doch es scheint ein David ans Licht getreten zu sein. GoAccess 2 - als Web Log Analyzer tituliert - scheint in die Fußstapfen zu treten.

Was macht GoAccess

GoAccess liest Log-Dateien der gängigsten Web-Server-Dienste (als Bespiel Apache oder Nginx) ein und bereitet diese entsprechend lesbar und auch grafisch auf.
Wird GoAccess gestartet, so erfolgt die Ausgabe der Ergebnisse in der Shell. Eine Ausgabe in eine HTML-Seite ist ebenfalls möglich und sieht zudem noch gut aus. Das Ganze sehr schnell und bei Bedarf in Echtzeit.

Vom Informationsgehalt gibt es eine Schnittmenge zwischen Piwik und GoAccess, wobei beim Letzteren klar ein technischer Fokus vorliegt. Als Beispiel werden Angaben zu der Besucheranzahl, zum Betriebssystem, der angeforderten statischen Dateien, des genutzten Browsers, der Geo-Lokation, Bandbreite u.s.w. gemacht. Wer wie lange auf der Seite verblieben ist und weitere Benutzerverhaltenspezifische Daten liegen nicht vor.

Die Installation

Die Installation ist denkbar einfach. Wobei später sowohl direkt auf dem Server gearbeitet werden kann, als auch der Zugriff per SSH möglich ist. Wichtig ist, dass die Log-Datei erreichbar ist. Zudem wird GoAccess von den bekanntesten Linux- und BSD-Distributionen im Paketsortiment angeboten.

Hier am Beispiel bei einem Webspace bei Uberspace 3 die wenigen Handgriffe, die zudem sehr gut (allgemeingültig) auf der Projektseite dokumentiert sind:

  • Die Quellen werden, wie dokumentiert, herunter geladen und entpackt. Einzig bei der Konfiguration für make sollte der Prefix-Parameter mit dabei sein, bevor mit der Kombination von make mit install alles installiert wird:
./configure --enable-geoip --enable-utf8 --prefix=/home/dein_uberspace_name
  • Ist alles installiert, hilft eine einfache und vordefinierte Konfigurationsdatei, den späteren Aufruf von GoAccess ohne viele Parameter zu gestalten:
vim ~/etc/goaccess.conf

Wichtig hierbei ist das entsprechende Log-Format zu bestimmen. Bei Uberspace ist vieles gut dokumentiert. So bin ich auch auf das "Combined Log Format" gestoßen. Wer sich nicht sicher ist, kann auch einfach durch Ausprobieren sein Format herausfinden.

  • GoAccess wird dann wie folgt (bei mir auf dem Server) gestartet:
goaccess -a -p ~/etc/goaccess.conf -f ~/logs/access_log

Das einmalige Ausleiten in eine HTML-Datei erwirkt ein weiterer Parameter. Die so erstellte Datei steht dann direkt für den Browser zur Verfügung:

goaccess -a -p ~/etc/goaccess.conf -f ~/logs/access_log -o ~/html/goaccess/report.html

Und weiter

Ein Cron-Job erzeugt bei mir täglich eine HTML-Ausgabe. Eine Echtzeit-Ausgabe oder der Zugriff per SSH (anstelle GoAccess auf dem Server zu starten) ist ebenfalls möglich, habe ich aber noch nicht ausprobiert. Einige Beispiele zusammen mit der Beschreibung aller Parameter sind gut dokumentiert 4.

Einen Einblick, ohne jetzt gleich mit der Installation zu beginnen, bietet die Projektseite selbst. Sogar mit einer Live-Demo.


  1. Piwik Blog: piwik.org 

  2. GoAccess Projektseite: goaccess.io 

  3. Uberspace: uberspace.de 

  4. GoAccess Man-Page: goaccess.io