GoAccess est un utilitaire pour machines Unix d'analyse de logs de serveurs Web en temps réel.

Un des nombreux avantages de GoAccess est qu'il parse de nombreux formats de log :

  • Amazon CloudFront
  • AWS Elastic Load Balancing
  • Combined Log Format (XLF/ELF) Apache | Nginx
  • Common Log Format (CLF) Apache
  • Google Cloud Storage.
  • Apache virtual hosts
  • W3C format (IIS).

Ainsi, que vous ayez un serveur Web Apache ou Nginx, vous pouvez utiliser GoAccess pour parser vos fichiers logs.

Cet outil est également très rapide comme le montre le tableau de benchmarks effectués par le créateur.

GoAccess vous affichera dans un terminal, en temps réel :

  • Statistiques générales (nombre de requêtes, taille des logs, nombre visiteurs, bande passante, ...)
  • Temps de réponse des requêtes
  • Top des visiteurs
  • Fichiers demandés (statiques, images, ...)
  • Codes retour HTTP (404, ...)
  • Systèmes d'exploitation et navigateurs
  • URLs référentes
  • etc, etc...

Vous avez la possibilité d'exporter le résultat en HTML, JSON, CSV. D'ailleurs, le rapport HTML est plutôt bien foutu (exemple ici).

Installation

Pour installer GoAccess, vous pouvez passer par votre gestionnaire de dépôt habituel. Pour Debian/Ubuntu, voici la commande :

apt-get install goaccess

Comme le précise la documentation, la version dans le dépôt n'est pas forcément la dernière. Ajoutez le dépôt officiel GoAccess avec ces commandes (en root / sudo) :

echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - http://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install goaccess

Ou alors, vous pouvez installer GoAccess à partir des sources (changez le numéro de version par le plus récent) :

wget http://tar.goaccess.io/goaccess-1.0.2.tar.gz
tar -xzvf goaccess-1.0.2.tar.gz
cd goaccess-1.0.2/
./configure --enable-geoip --enable-utf8
make
make install

Utilisation

Pour lancer GoAccess, c'est très simple. Utilisez cette commande en spécifiant le fichier à parser :

goaccess -f /var/log/nginx/access.log

Utilisez les flèches de votre clavier pour naviguer dans les statistiques.

Pour des statistiques plus complètes, utilisez l'option -a en plus. Pour connaître la liste des options disponibles au lancement de GoAccess, regardez le man goaccess ou cette liste de la documentation.

Pour exporter le rapport HTML, utilisez cette commande :

goaccess -f /var/log/nginx/access.log -a > /tmp/rapport.html

Pour un export CSV :

goaccess -f /var/log/nginx/access.log -a -o csv > /tmp/rapport.csv

Quelques liens