Comment fonctionne l’analyse des fichiers log avec GoAccess ?

Les données log de votre serveur Web révèlent toutes sortes de choses sur l’arrière-plan et le comportement de vos visiteurs. Ainsi une inspection des fichiers log (que l’on nomme aussi fichiers de traces ou fichiers journaux) peut vous apporter de nombreuses informations. Par exemple le navigateur utilisé par l’utilisateur, le temps passé par ce dernier sur votre site Internet ou encore le nombre de pages qu’il a consulté et enfin le moteur de recherche ou le lien qui lui a permis d’accéder à votre projet Web. C’est notamment pour cela que le fichier log est une source d’informations précieuse pour vérifier l’utilisabilité de votre site et pour l’optimisation d’un projet Web. Il est cependant impossible d’analyser manuellement ces données qui sont bien trop volumineuses. Toutefois, Il existe plusieurs outils d’analyse de fichiers log ou analyseurs de fichiers log qui peuvent réaliser cette tâche et présenter les résultats avec des visuels et des graphiques. Un représentant emblématique de ces analyseurs est l’outil open source GoAccess.

Les fondamentaux de GoAccess

En juillet 2010, le développeur Gerardo Orellana a publié la première version de l’outil d’analyse de fichiers log GoAccess sur la plateforme GitHub qui est constamment développé jusqu’aujourd’hui. GoAccess peut être utilisé comme un logiciel libre sous la licence GNU et depuis 2016 sous la licence MIT et peut ainsi être librement adapté et utilisé selon les besoins.

L’idée et la fonction première de GoAccess est l’analyse et la présentation visuelle de statistiques Web en temps réel. Pour cela, l’analyseur de fichier log évalue les différents formats de fichiers log (ou fichiers journaux) des serveurs Web et des services de Cloud comme Apache, nginx, Amazon S3 ou CloudFront et affiche les résultats graphiquement dans un tableau de bord. On peut y accéder via le système UNIX ou à partir du navigateur ou d’une ligne de commande. De plus, les statistiques peuvent également être émises au format HTML, JSON ou CSV.

GoAccess ne nécessite qu‘une configuration de système minimale et comme il est écrit en langage de programmation C, seule la bibliothèque de programme C, ncurses, doit être présélectionnée. Pour utiliser l’outil d’analyse de fichiers log sur un système d’exploitation Windows, vous avez besoin de la collection d’outils Cygwin, qui est nécessaire pour exécuter des applications Linux sur un système Microsoft.

Ces fonctionnalités qui distinguent l’outil open source

Pour utiliser GoAccess aucune configuration n’est requise. Il vous suffit de sélectionner le fichier log à analyser, de lancer l’analyse et ainsi vous pouvez visualiser facilement les informations en temps réel. Les différentes données sont répertoriées dans des sections individuelles, avec deux valeurs : une pour les périodes de mesure individuelles et une valeur pour l’ensemble de la période d’examen. Par défaut, ces listes sont classées par ordre chronologique, vous pouvez cependant les trier par le nombre de pages vues ou de visiteurs, la quantité de bande passante consommée ou le temps nécessaire pour charger le site Internet (total, moyenne ou maximale). Vous pouvez aussi afficher certaines valeurs dans des graphiques à barres ou courbes. En plus des informations actuelles, GoAccess sous la rubrique « Overall Analyzed Requests » apporte un résumé de toutes les données de log évaluées jusqu’à présent.

Le terminal ainsi que le tableau de bord du navigateur (tous les deux en anglais) présentent facilement les différentes sections et diagrammes et cela de manière intuitive afin de pouvoir très rapidement tirer des conclusions sur les visiteurs et sur le site Web. Le tableau suivant montre les différents domaines que l’analyseur de fichiers log couvre et récapitule les résultats et conclusions que l’on peut tirer de ces valeurs.

Sections Traduction Valeurs clefs Intérêt pour l’analyse Web.
Unique visitors per day – including spiders Les visiteurs individuels par jour, y compris les programmes informatiques Appels, visiteurs, date (Data) Les visiteurs qui viennent de la même adresse IP sont perçus comme un seul visiteur. En observant le nombre de visiteurs sur une plus longue période de temps, vous pouvez déterminer si les campagnes publicitaires et/ou un nouveau contenu sont ou non couronnées de succès.
Requested Files (URLs) Fichiers demandés (URL) Appels, bande passante, temps de chargement (Avg., Cum., Max. T.S.), URL (Data) Dans cette section, vous obtenez un aperçu des URL les plus fréquemment demandées. Cela indique quelles pages de votre projet Web sont particulièrement populaires, combien de bande passante est consommé ainsi que la stabilité des temps de chargement des pages.
Static Requests Requêtes statiques Appels, bande passante, temps de chargement, données (Data) Comme dans la section précédente, il s’agit des données les plus demandées, mais uniquement les contenus statiques comme les images, les icônes ou les éléments de la mise en page.
Not Found URLs (404s) URL introuvable (erreur 404) Appels, URL (Data) Cette section liste les URL des visiteurs qui sont confrontés à une erreur 404. A l’aide de ces statistiques, vous pouvez détecter les problèmes de réseau et corriger les liens défectueux. Ces derniers sont en effet évalués négativement par les utilisateurs et les moteurs de recherche.
Visitor Hostnames and IPs Nom d’hôte et adresse IP des visiteurs Ville, pays, nom d‘hôte, adresse IP (Data) Dans cette section vous obtenez des informations sur le fournisseur et l’adresse IP de vos visiteurs, GoAccess délivre même des données sur le pays d’origine et l’emplacement. L’avantage est de présenter aux utilisateurs un contenu plus personnalisé et ciblé. Cependant, l’obtention des adresses IP complètes et la géolocalisation peut être en contradiction avec la juridiction sur la protection des données, notamment en Europe.
Operating Systems Système d‘exploitation appels, visiteurs, système d‘exploitation (Data) Dans cette section vous pouvez voir, triés en fonction de la fréquence, les systèmes d’exploitation utilisés par vos utilisateurs, visiteurs. Ceci est notamment intéressant pour calculer le volume du trafic mobile.
Browsers Navigateur Appels, visiteurs, navigateur (Data) Cette section présente les types d’accès des clients, visiteurs. Vous pouvez voir tout d’abord le volume des différents navigateurs, mais aussi par exemple si des robots ont parcouru votre site Internet.
Time Distribution Distribution temporelle des appels Appels, visiteurs, temps de chargement, heures (Data) Pour avoir un aperçu du trafic en fonction des heures. Ainsi vous pouvez savoir à quelle période vos utilisateurs sont le plus actif et ainsi ajuster la publication de campagnes publicitaires ou de nouveaux contenus.
Virtual Hosts Hôtes virtuels Appels, bande passante, Hôtes (Data) Si vous exécuter plusieurs serveurs virtuels (domaines, adresses IP) sur votre serveur Web, vous pouvez utiliser ces statistiques pour filtrer les ressources de votre serveur et voir celles qui sont accaparées.
Referrers URLs Référent URL Appels, URL (Data) Le référent est une information sur l’URL de vos visiteurs qui apparait dans le fichier log. Vous pouvez utiliser cette statistique pour filtrer les pages partenaires fortes et pour connaitre quels sont les mots-clés rédigés par le visiteur dans un moteur de recherche pour arriver sur vos pages.
Referring Sites Sites référents Appels, adresse Web(Data) Contrairement à la statistique précédente, vous n’obtenez pas l’URL, mais l’adresse Web du site d’origine.
Keyphrases from Google’s search engine Mots-clés et termes de recherche utilisés par le moteur de recherche Google Appels, mots-clés,(Data) GoAccess fournit en plus des statistiques de référents, une liste distincte des requêtes de recherche, au moins pour Google. Cela vous évite de réaliser le fastidieux travail d’évaluation des URL référents. Les résultats présentés ici contribuent beaucoup à votre stratégie des mots-clés.
Geo Location Géolocalisation Visiteurs, origine (Data) Sous la section « Geo Location », vous trouverez l’allocation précise des adresses IP à l’emplacement géographique du système de l’utilisateur. La question de la confidentialité des données se pose aussi pour ces statistiques, comme pour le nom de l‘hôte et l’IP de l’utilisateur. (nécessite aussi GeoIP par MaxMind)
HTTP Status Codes Liste des codes HTTP Appels, liste des codes (Data) Cette rubrique affiche une vue d’ensemble des réponses de votre serveur. Vous pouvez voir si votre serveur Web fonctionne correctement et vous pouvez récupérer tout le contenu sans erreur.

Comment installer et utiliser GoAccess ?

Pour être certains d’installer la dernière version de GoAccess, nous vous recommandons de télécharger le fichier d’installation directement à partir du site Web officiel. Téléchargez et installez la version avec la ligne de commande suivante:

$ wget http://tar.goaccess.io/goaccess-1.0.tar.gz
$ tar -xzvf goaccess-1.0.tar.gz
$ cd goaccess-1.0/
$ ./configure --enable-utf8
$ make
# make install

N’oubliez pas que ncurses est requis pour les fonctionnalités de l’analyseur de log Apache et nginx et doit être installé sur votre système avec la dernière version. Si ce n’est pas déjà fait, vous pouvez configurer la bibliothèque C avec le code suivant :

$ wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
$ tar xzf ncurses-6.0.tar.gz
$ cd ncurses-6.0
$ ./configure --prefix=/opt/ncurses
$ make
# make install
$ ls -la /opt/ncurses

Un aperçu détaillé des options de configuration de l’outil d’analyse de fichiers log est disponible en anglais dans le manuel.