Helmuts Weblog

»Die Basis einer gesunden Ordnung ist ein großer Papierkorb.« – Kurt Tucholsky


Logfile-Analyse mit GoAccess auf einem Uberspace

Ich wollte mir heute nach langer Zeit mal einen aktuellen Überblick über die Crawler verschaffen, die meine Seite so ansteuern.

Da ich keine Zeit für und Lust auf Piwik Matomo habe, war ich auf der Suche nach einem schlanken Kommandozeilen-Programm, das direkt auf dem Server läuft und dort auf die access_log des Apache zugreift.

Fündig geworden bin ich in GoAccess. Auf einem Uberspace lässt sich das schnell in Betrieb nehmen.

Download und Konfiguration

Zuerst laden wir es im Home-Verzeichnis herunter, entpacken es, benennen den Ordner um und betreten diesen:

cd ~
wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
mv goaccess-1.3/ goaccess/
cd goaccess

Anschließend konfigurieren:

./configure --enable-geoip --enable-utf8 --prefix=/home/$USERNAME

Jetzt lässt sich GoAccess auch schon starten:

goaccess -a -p ~/goaccess/config/goaccess.conf -f /readonly/$USERNAME/logs/access_log

Nach dem Start des Programms muss man mit der SPACE-Taste nun noch Log-Format bestätigen, z.B. NCSA Combined Log Format. Nach der Bestätigung mit Enter wird das Dashboard gestartet.

Alias einrichten

Damit man nicht bei jedem Mal so viel tippen muss, richtet man sich noch einen Alias in der .bashrc ein:

nano ~/.bashrc

Der Alias könnte so ausschauen:

alias goaccess-log='goaccess -a -p ~/goaccess/config/goaccess.conf -f /readonly/$USERNAME/logs/access_log'

Jetzt noch die .bashrc neu einlesen:

source ~/.bashrc

Fertig. Das Programm lässt sich nun mit goaccess-log starten.

Tags: #tech, #software, #how-to, #internet, #hosting, #linux, #uberspace, #opensource, #txt