---
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 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
~~~

# 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. 