mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.3 KiB

categories title
web sysadmin system Howto GoAccess

GoAccess est un outil pour analyser facilement des logs Apache ou Nginx (et d’autres formats) : générer rapidement une page de rapport HTML, stats ncurses et même surveillance temps réel.

# apt install goaccess

Si besoin d’une version plus récente, l’upstream distribue des paquets Debian avec une version plus récente.

# echo "deb http://deb.goaccess.io $(lsb_release -cs) main" >> /etc/apt/sources.list.d/goaccess.list
# wget http://deb.goaccess.io/gnugpg.key -O /etc/apt/trusted.gpg.d/goaccess.asc
# apt update && apt install goaccess

Il faut ensuite éditer /etc/goaccess.conf, en choisissant le format de log, par exemple :

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"

Pour HAProxy, le log-format est le suivant :

log-format %^ %^ %^ %^ %^ %^ %h:%^ [%d:%t.%^] %^ %^ %^/%^/%^/%L/%^ %s %b %^ %^ %^ %^ %^ {%v|%u} "%m %U %H"

Pour générer un rapport HTML (un seul fichier, les styles sont inline) :

avec GoAccess 0.8.3 :

# goaccess -f access.log -a -o html

avec GoAccess 1.2 :

# goaccess access.log -a -o /var/www/rapport.html

Pour suivre un access.log en temps réel :

# goaccess -f access.log

Pour avoir un access de 12h à 16h du 1er Fevrier :

# grep "1/Fev/2017:1[2-6]" /var/log/apache2/access.log > goacces.tmp
# goaccess -f goaccess.tmp -a -o html

Interface web + WebSocket

Pour avoir le suivi en temps réel dans un navigateur, on peut créer une unité systemd qui lancera GoAccess et sa WebSocket.

/etc/systemd/system/goaccess.service.

[Unit]
Description=GoAccess real time web stats.
After=network.target

[Service]
ExecStart=/usr/bin/goaccess -p /etc/goaccess/goaccess.conf /var/log/haproxy.log -o /var/www/goaccess.html --real-time-html --daemonize
Type=forking
User=goaccess

[Install]
WantedBy=default.target
# systemctl daemon-reload
# systemctl enable goaccess
# systemctl start goaccess

Erreur

Fatal error has occurred
Error occured at: src/parser.c - parse_log - xxxx
No log format was found on your conf file.

Si cette erreur survient, il faut modifier le fichier de conf /etc/goaccess.conf pour décomenter les valeurs logformat correspondant.