GoAccess est un outil libre pour les systèmes Linux et Unix vous permettant d’analyser en temps réel les logs de votre serveur web.
Site web: https://goaccess.io/
Github: https://github.com/allinurl/goaccess
Il existe plusieurs outils pour créer des stats et récupérer de façon plus claire des logs de votre serveur web, que vous soyez sous Apache ou nginx. Vous pouvez même confier ces stats à des tiers, comme Google Analytics ou encore utiliser Piwik. Notez que ces outils sont uniquement accessibles via une page / site web.
Toutefois, pour les férus de la ligne de commande, GoAccess vous offre l’opportunité d’accéder à vos stats directement via cli ! Vous bénéficierez ainsi d’un vrai tableau de bord dans votre terminal, sans passer par le web ! Awesome
Vous pouvez aussi générer des rapports en fichier HTML, JSON ou csv.
Pour ma part, je génèrerai des rapports HTML pour pouvoir les consulter ensuite sur mon site de façon autonome.
I. Installation de GoAccess
L’installation n’est pas très compliquée. J’ai préféré l’installation via les dépôts officiels de GoAccess pour bénéficier des dernières versions et des corrections de bug.
D’autres méthodes d’installation sont expliquées directement sur le site du projet.
L’installation est effectuée sur serveur Debian 8.2 ; Les commandes sont similaires pour Ubuntu.
Pour Archlinux, vous pouvez directement utiliser yaourt -Ss goaccess.
Je ne connais pas les manipulations pour les distributions Fedora/CentOS/openSuse…
Il faut donc saisir la source dans la liste des dépôts de paquets de votre serveur par le biais de cette commande :
echo "deb <a href="http://deb.goaccess.io">http://deb.goaccess.io</a> $(lsb_release -cs) main" | tee -a /etc/apt/sources.list
Une fois la mise en place effectuée, il faut récupérer la clé publique du dépôt et l’ajouter dans votre trousseau de clés :
wget -O - http://deb.goaccess.io/gnugpg.key | apt-key add -
Enfin, vous pouvez mettre à jour votre liste de paquets et lancer l’installation de GoAccess :
apt-get update && apt install goaccess
Quelques dépendances s’installeront en même temps que GoAccess ; Ces paquets sont nécessaires pour le bon fonctionnement du soft.
Au cas ou:
apt-get install libncursesw5-dev
II. Configuration préliminaire
Pour éviter de devoir à chaque fois choisir les formats de date lors du lancement de GoAccess, vous pouvez modifier le fichier « goaccess.conf » dans /etc/.
nano /etc/goaccess.conf
Les lignes sont commentées par défaut : il faut enlever le « # » au niveau de ces lignes :
# Time Format Options (required) time-format %H:%M:%S # Date Format Options (required) date-format %d/%b/%Y # NCSA Combined Log Format log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
Il y a trois lignes à dé-commenter. Si vous oubliez une ligne, GoAccess ne fonctionnera pas.
Vous pouvez enregistrer et fermer le fichier une fois les modifications effectuées. Ce n’est pas nécessaire de redémarrer votre serveur.
III. Première utilisation
L’installation et la configuration est terminée, c’est maintenant le moment d’utiliser l’analyseur de logs !
Pour générer un premier rapport, dans votre terminal, vous devez saisir la commande suivante :
goaccess -f /emplacement/fichier/log/serveur/web -a ## EXEMPLE = goaccess -f /var/log/czs.access.log -a
Explications
- « goaccess -f » : Par cette commande, vous spécifiez l’emplacement de votre fichier de logs – INDISPENSABLE !
- « -a » : cet attribut permet d’extraire toutes les informations des logs.
Au premier lancement de GoAccess, une fenêtre va s’afficher pour que vous puissiez choisir le format des logs, notamment au niveau de la date et de l’heure.
Pour une compréhension aisée et « normale », il faut choisir l’option « NCSA Combined Log Format » – appuyez sur la barre d’espace de votre clavier pour sélectionner l’option. Une croix devrait s’afficher dans le carré pour confirmer la sélection.
Lorsque l’option est choisie et validée, GoAccess va alors « parser » le fichier de log spécifié auparavant ; il s’agit d’une mise en forme du fichier, pour que toutes les informations soient corrélées et lisibles.
Selon le nombre de lignes dans le fichier, la quantité d’information et la puissance matérielle (disque dur / CPU / RAM) de votre serveur, le temps d’attente peut être plus ou moins long.
Enfin, lorsque le parsing est terminé, vous pouvez accéder au tableau de bord : vos logs s’affichent dans votre terminal !
Il est possible de générer des fichiers .html pour vos rapports via cette commande :
goaccess -f /emplacement/fichier/log -a > fichier.html
Avec votre navigateur, naviguez sur votre serveur web à la recherche du fichier .html et ouvez-le.
Vous devriez récupérer un fichier « formaté » et prêt à l’emploi comme celui-ci :
Plusieurs rubriques sont disponibles, vous affichant des informations diverses et variées.
Comme vous pouvez le constater, c’est tout de même beaucoup plus simple de lire dans ce fichier .html que le fichier de log « brut »… !