19
0
Fork 0
wiki/HowtoGoAccess.md

98 lines
2.3 KiB
Markdown
Raw Normal View History

2017-01-24 15:31:35 +01:00
---
categories: web sysadmin system
title: Howto GoAccess
...
2017-01-24 16:45:02 +01:00
* Documentation: <https://goaccess.io/man>
2017-01-24 15:14:00 +01:00
2017-01-24 16:45:02 +01:00
[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.
2017-01-24 15:14:00 +01:00
2017-01-24 15:15:00 +01:00
~~~
# apt install goaccess
~~~
2017-01-24 15:14:00 +01:00
2017-01-24 16:45:23 +01:00
Si besoin d'une version plus récente, l'upstream distribue des paquets Debian avec une version plus récente.
2017-01-24 15:14:00 +01:00
2017-01-24 15:15:00 +01:00
~~~
# echo "deb https://deb.goaccess.io $(lsb_release -cs) main" >> /etc/apt/sources.list.d/goaccess.list
# wget -O - https://deb.goaccess.io/gnugpg.key | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
2017-01-24 15:16:56 +01:00
# apt update && apt install goaccess
2017-01-24 15:15:00 +01:00
~~~
2017-01-24 15:14:00 +01:00
2017-01-24 15:31:35 +01:00
Il faut ensuite éditer `/etc/goaccess.conf`, en choisissant le format de log, par exemple :
2017-01-24 15:14:00 +01:00
2017-01-24 15:15:00 +01:00
~~~
2017-01-24 15:31:35 +01:00
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
2017-01-24 15:15:00 +01:00
~~~
2017-01-24 15:14:00 +01:00
2019-02-13 11:15:06 +01:00
Pour HAProxy, le `log-format` est le suivant :
~~~
2019-03-06 15:19:32 +01:00
log-format %^ %^ %^ %^ %^ %^ %h:%^ [%d:%t.%^] %^ %^ %^/%^/%^/%L/%^ %s %b %^ %^ %^ %^ %^ {%v|%u} "%m %U %H"
2019-02-13 11:15:06 +01:00
~~~
2017-01-24 15:14:00 +01:00
Pour générer un rapport HTML (un seul fichier, les styles sont inline) :
2017-11-27 15:43:45 +01:00
avec GoAccess 0.8.3 :
2017-03-23 16:49:16 +01:00
2017-01-24 15:15:00 +01:00
~~~
2017-03-23 16:49:16 +01:00
# goaccess -f access.log -a -o html
2017-01-24 15:15:00 +01:00
~~~
2017-11-27 15:43:45 +01:00
avec GoAccess 1.2 :
~~~
# goaccess access.log -a -o /var/www/rapport.html
~~~
2017-01-24 15:14:00 +01:00
Pour suivre un access.log en temps réel :
2017-01-24 15:15:00 +01:00
~~~
2017-01-24 15:14:00 +01:00
# goaccess -f access.log
2017-01-24 15:15:00 +01:00
~~~
2017-01-24 15:14:00 +01:00
2017-03-14 16:09:36 +01:00
Pour avoir un access de 12h à 16h du 1er Fevrier :
~~~
# grep "1/Fev/2017:1[2-6]" /var/log/apache2/access.log > goacces.tmp
2017-03-23 16:49:31 +01:00
# goaccess -f goaccess.tmp -a -o html
2017-03-14 16:09:36 +01:00
~~~
2019-02-13 15:54:49 +01:00
# 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
~~~
2017-01-24 15:15:00 +01:00
# Erreur
2017-01-24 15:14:00 +01:00
2017-01-24 15:31:35 +01:00
~~~
2017-01-24 15:14:00 +01:00
Fatal error has occurred
Error occured at: src/parser.c - parse_log - xxxx
No log format was found on your conf file.
2017-01-24 15:31:35 +01:00
~~~
2017-01-24 15:14:00 +01:00
2019-12-28 23:22:14 +01:00
Si cette erreur survient, il faut modifier le fichier de conf /etc/goaccess.conf pour décomenter les valeurs logformat correspondant.