Pourquoi utiliser GoAccess ?
Dans mon cas, je souhaite me débarrasser de Google Analytics dont je n'utilise qu'1% des fonctionnalités. Je cède à ce dernier beaucoup trop d'informations concernant les visiteurs de mes sites. L'idée était de continuer à connaître les pages les plus visitées, les erreurs rencontrées et une potentielle chute de fréquentation pouvant provenir d'un problème technique. Quoi de plus fiable que d'analyser des logs en remplacement d'un bout de JavaScript souvent bloqué par UBlock Origin ou Adblock Plus.
En résumé :
- je donne moins d'informations à Google
- j'évite le chargement d'un script externe à mes visiteurs
- je peux quand même continuer à vérifier que tout va bien
La seule contrepartie dans mon cas étant la récupération des logs chez OVH que je pense automatiser dans la foulée.
Installation
Un paquet GoAccess est sûrement disponible pour votre distribution Linux ou vous pouvez le compiler depuis les sources. Je vous renvoie pour cela à la documentation d'installation.
Commandes
Dans les exemples suivants, j'utiliserais le fichier de log présent sur mon disque à l'emplacement /var/log/apache2/access.log
.
Utilisation de base
goaccess -f /var/log/apache2/access.log
Ignorer les crawlers/bots/spiders avec l'option --ignore-crawlers
goaccess -f /var/log/apache2/access.log --ignore-crawlers
Lire des logs archivées
zcat /var/log/apache2/access.log*.gz | goaccess
Génération d'un rapport au format HTML
goaccess -f /var/log/apache2/access.log --ignore-crawlers -a -o report.html
Lancer un tableau de bord d'analyse en temps réel
goaccess -f /var/log/apache2/access.log -o /var/www/report.html --real-time-html
Remplacez /var/www/report.html
par un endroit accessible par votre serveur web. Il ne vous restera plus qu'à accéder à ce dashboard via l'adresse https://<votre-domaine>/report.html
.
Choisir le bon parseur pour Apache
Il se peut que la commande précédente n'apporte pas le résultat escompté. En effet, les logs peuvent être construits de nombreuses manières. Pour que GoAccess comprenne les données issues du fichiers que vous lui fournissez, utilisez l'option -c
.
goaccess -f /var/log/apache2/access.log -c
Un menu va vous proposer les différents parseurs disponibles. Pour d'Apache, nous utiliserons le premier : NCSA Combined Log Format
. Le deuxième, NCSA Combined Log Format with Virtual Host
, est à sélectionner lors de l'utilisation de virtuals hosts.
Vous pouvez à tout moment éditer les règles de parsing avec les touches suivantes :
- touche
c
pour modifier le format du log - touche
d
pour modifier la date - touche
t
pour le temps
Les différentes options disponibles pour ces expressions régulières sont disponible sous l'encart SPECIFIERS du manuel de GoAccess.