Goaccess: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Endgültige Version - änderte File decompression etc zu zcat und pipe)
KKeine Bearbeitungszusammenfassung
Zeile 33: Zeile 33:
   --enable-geoip=mmdb
   --enable-geoip=mmdb


===Anwendung===
==Anwendung==
Dann, nach der Installation beginnt der hostsharingspezifische Teil, denn das file web.log, welches alle aktuellen logs der letzten zwei Tage beinhaltet beginnt nicht mit Datum und Uhrzeit, sondern mit den Domainnamen, was für goaccess zu Verwirrung führt.
Dann, nach der Installation beginnt der hostsharingspezifische Teil, denn das file web.log, welches alle aktuellen logs der letzten zwei Tage beinhaltet beginnt nicht mit Datum und Uhrzeit, sondern mit den Domainnamen, was für goaccess zu Verwirrung führt.
==== Pipe mit zcat ====
=== Pipe mit zcat ===
Am leichtesten ist die Nutzung einer Pipe für die Prozessierung der gzip2 gezippten logfiles die alle nach dem Schema:
Am leichtesten ist die Nutzung einer Pipe für die Prozessierung der gzip2 gezippten logfiles die alle nach dem Schema:
web-subdomain.example.com-YYYYMMDD-hhmm.log.gz im Ordner $HOME/var liegen.
web-subdomain.example.com-YYYYMMDD-hhmm.log.gz im Ordner $HOME/var liegen.
Zeile 41: Zeile 41:
Die Auswertung muss also entzippt werden, das geht on-the-fly mit zcat
Die Auswertung muss also entzippt werden, das geht on-the-fly mit zcat
  ~$ zcat /home/pacs/xyz00/var/web-example.com-20230215-0139.log.gz  
  ~$ zcat /home/pacs/xyz00/var/web-example.com-20230215-0139.log.gz  
==== Wildcards ====
=== Wildcards ===
zcat kann sehr gut mit Wildcards umgehen, der Aufruf  
zcat kann sehr gut mit Wildcards umgehen, der Aufruf  
  ~$ zcat var/web*.log.gz  | goaccess -o webstat.html --log-format=COMBINED -
  ~$ zcat var/web*.log.gz  | goaccess -o webstat.html --log-format=COMBINED -
Zeile 47: Zeile 47:
oder nur per Domain: "var/web-example.com*.log.gz" oder nur den Januar 2023: "var/web*202301*log.gz"
oder nur per Domain: "var/web-example.com*.log.gz" oder nur den Januar 2023: "var/web*202301*log.gz"


==== Auswertung mit goaccess ====
=== Auswertung mit goaccess ===
   ~$ zcat ... | goaccess -o webstat.html --log-format=COMBINED -
   ~$ zcat ... | goaccess -o webstat.html --log-format=COMBINED -
legt eine Datei webstat.html im aktuellen Ordner ab, diese kann dann zum Beispiel heruntergeladen werden, oder in einer Domain erreichbar gemacht werden.
legt eine Datei webstat.html im aktuellen Ordner ab, diese kann dann zum Beispiel heruntergeladen werden, oder in einer Domain erreichbar gemacht werden.

Version vom 15. Februar 2023, 17:24 Uhr

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

Anwendung

Dann, nach der Installation beginnt der hostsharingspezifische Teil, denn das file web.log, welches alle aktuellen logs der letzten zwei Tage beinhaltet beginnt nicht mit Datum und Uhrzeit, sondern mit den Domainnamen, was für goaccess zu Verwirrung führt.

Pipe mit zcat

Am leichtesten ist die Nutzung einer Pipe für die Prozessierung der gzip2 gezippten logfiles die alle nach dem Schema: web-subdomain.example.com-YYYYMMDD-hhmm.log.gz im Ordner $HOME/var liegen. Eine Auswertung des Weblogs von example.com z.B. vom 14.02.2023 liegt unter /home/pacs/xyz00/var/web-example.com-20230215-0139.log.gz vor Die Auswertung muss also entzippt werden, das geht on-the-fly mit zcat

~$ zcat /home/pacs/xyz00/var/web-example.com-20230215-0139.log.gz 

Wildcards

zcat kann sehr gut mit Wildcards umgehen, der Aufruf

~$ zcat var/web*.log.gz  | goaccess -o webstat.html --log-format=COMBINED -

zum Beispiel fasst alle logfiles aller Domains und aller Tage zusammen. oder nur per Domain: "var/web-example.com*.log.gz" oder nur den Januar 2023: "var/web*202301*log.gz"

Auswertung mit goaccess

 ~$ zcat ... | goaccess -o webstat.html --log-format=COMBINED -

legt eine Datei webstat.html im aktuellen Ordner ab, diese kann dann zum Beispiel heruntergeladen werden, oder in einer Domain erreichbar gemacht werden.