Goaccess

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen

Um den Traffic des Pakets beziehungweise die Einträge der Logdateien im grafischen Blick zu halten, falls das Vorgehen im gerade wenn unerwartet eine Mail mit erhöhtem Datenvolumen kommt (im terminal oder als webpage) bietet sich das tool goaccess an (https://goaccess.io/download). Es ist ein sehr schlankes tool was gerade mal 690kB im Download des tar.gz wiegt (Version 1.7)

Installation

Die Installation ist erst einmal sehr einfach, daher kann es fast so installiert werden wie auf goaccess.io/download beschrieben: eingeloggt als Paketadmin z.B. per ssh xyz00 Da wir als Paketadmin keine Programme für alle installieren kann ein lokales Directory für die Installation des Programms (und ähnlicher angelegt werden: z.B. /home/pacs/xyz00/usr ~$mkdir usr um dann automatisch dorthin auch ein /bin Ordner anzulegen (wird durch configure danach gemacht) und auch den PATH anpassen, damit Programme hier in bin direkt ausgeführt werden.

~$ echo 'export PATH="$HOME/usr/bin:$PATH"' >>.bashrc

leider wird .bashrc nicht immer gelesen wenn wir mit ssh einloggen, wir müssen es in .bash_profile festlegen:

~$ echo '-f ~/.bashrc  && . ~/.bashrc' >> ~/.bash_profile

nun sind wir bereit für die Installation:

~$ wget https://tar.goaccess.io/goaccess-1.7.tar.gz
~$ tar -xzvf goaccess-1.7.tar.gz
~$ cd goaccess-1.7/

Eine Systemweite Installation wird mangels Berechtigung nicht funktionieren. Damit configure direkt unseren Pfad anlegt, befehlen wir das Installationsdirectory $HOME als prefix

~/goaccess-1.7$ ./configure --enable-utf8 --enable-geoip=mmdb --prefix=$HOME/usr
~/goaccess-1.7$ make
~/goaccess-1.7# make install

Nun liegt $HOME//usr/bin/goaccess in unserem PATH an erster Stelle ein Aufruf von ~$ goaccess --version sollte das zeigen

~$ goaccess --v
GoAccess - 1.7.
For more details visit: https://goaccess.io/
Copyright (C) 2009-2022 by Gerardo Orellana

Build configure arguments:
 --enable-utf8
 --enable-geoip=mmdb

Post installation

Dann, nach der Installation beginnt der hostsharingspezifische Teil, denn alle Konfigurationen die mit dem Aufruf:

angeboten werden haben das falsche Zeitformat für hostsharing, es muss folgendermaßen angepasst werden: ... to be continued...

Einzelnes Log File einer Domain und eines Tages auswerden

Um ein Log File eines Tages und einer Domain anzusehen benötigt man erstmal das richtige logfile. Wie in der Kerndoku beschrieben findet man das im Paketadmin xyz00 unter ~/var/web-example.com-YYYYMMDD-????.log.gz

Um daraus einen Report zu generieren muss das log erstmal entpackt werden.

~/$ mkdir tmp
~/$ cd tmp
~/tmp$ gzip -d ~/var/web-example.com-YYYYMMDD-????.log.gz
~/tmp$ mv ~/var/web-example.com-YYYYMMDD-????.log ./
~/tmp$ ~/goaccess-1.7/goaccess web-example.com-YYYYMMDD-????.log -o ~/tmp/report.html --log-format=COMBINED

Das entpackte Logfile muss nicht zwangsläufig verschoben werden, eher zur Übersichtlichkeit.

Der Report befindet sich dann in ~/tmp/log und kann dann in ein entsprechendes htdocs(-ssl) Verzeichnis verschoben werden.