97 lines
2.3 KiB
Markdown
97 lines
2.3 KiB
Markdown
---
|
|
categories: web sysadmin system
|
|
title: Howto GoAccess
|
|
...
|
|
|
|
* Documentation: <https://goaccess.io/man>
|
|
|
|
[GoAccess](https://goaccess.io) 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 -O - http://deb.goaccess.io/gnugpg.key | apt-key add -
|
|
# 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. |