GoAccess est un outil d'analyse de journaux Web gratuit et open source utilisé pour l'analyse des journaux en temps réel. Vous pouvez analyser les journaux via un navigateur Web ou un terminal. Il est rapide et léger et ne peut pas consommer une grande quantité de votre CPU et de votre mémoire. Il utilise Common Log Format pour analyser et analyser les journaux du serveur Web. Il prend en charge HTTP/2 et IPv6 et a la capacité de sortir JSON et CSV.
GoAccess fournit des statistiques très utiles aux administrateurs système, y compris les principaux visiteurs, la bande passante, les sites et URL de référence, les systèmes d'exploitation, l'emplacement IP, le DNS inversé, la géolocalisation, le code d'état HTTP, et bien plus encore.
Dans ce tutoriel, nous allons vous montrer comment installer et utiliser GoAccess sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur le serveur.
Mise en route
Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour à l'aide de la commande suivante :
apt-get update -y
Une fois votre serveur mis à jour, vous pouvez passer à l'étape suivante.
Installer GoAccess à partir du référentiel Ubuntu
Par défaut, GoAccess n'est pas inclus dans le référentiel par défaut d'Ubuntu. Vous devrez donc ajouter le référentiel GoAccess à votre système.
Tout d'abord, téléchargez et ajoutez la clé GPG avec la commande suivante :
wget -O - https://deb.goaccess.io/gnugpg.key | apt-key --keyring /etc/apt/trusted.gpg.d/goaccess.gpg add -
Ensuite, ajoutez le référentiel GoAccess avec la commande suivante :
echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list
Une fois le dépôt ajouté, mettez à jour le cache du dépôt et installez GoAccess avec la commande suivante :
apt-get update -y
apt-get install goaccess -y
Cela installera GoAccess sur votre système.
Installer GoAccess depuis la source
Vous pouvez également installer le GoAccess en le compilant à partir de la source. Tout d'abord, vous devrez installer les dépendances requises avec la commande suivante :
apt-get install libncursesw5-dev libgeoip-dev libtokyocabinet-dev build-essential -y
Une fois toutes les dépendances installées, téléchargez le source GoAccess avec la commande suivante :
wget http://tar.goaccess.io/goaccess-1.4.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xzvf goaccess-1.4.tar.gz
Ensuite, changez le répertoire en répertoire extrait et configurez GoAccess avec la commande suivante :
cd goaccess-1.4/
./configure --enable-utf8 --enable-geoip=legacy
Vous devriez obtenir le résultat suivant :
Your build configuration: Prefix : /usr/local Package : goaccess Version : 1.4 Compiler flags : -pthread Linker flags : -lnsl -lncursesw -lGeoIP -lpthread UTF-8 support : yes Dynamic buffer : no Geolocation : GeoIP Legacy Storage method : In-Memory with On-Disk Persitance Storage TLS/SSL : no Bugs : [email protected]
Ensuite, installez GoAccess sur votre système à l'aide de la commande suivante :
make
make install
Une fois l'installation terminée, vous pouvez vérifier la version installée de GoAccess avec la commande suivante :
goaccess --version
Vous devriez obtenir le résultat suivant :
GoAccess - 1.4. For more details visit: http://goaccess.io Copyright (C) 2009-2020 by Gerardo Orellana Build configure arguments: --enable-utf8 --enable-geoip=legacy
Vous pouvez trouver le fichier de configuration par défaut de GoAccess avec la commande suivante :
goaccess --dcf
Vous devriez voir le résultat suivant :
/usr/local/etc/goaccess/goaccess.conf
Lancer le tableau de bord GoAccess
Ouvrez votre terminal lancez le tableau de bord GoAccess en utilisant la commande suivante :
goaccess /var/log/apache2/access.log --log-format=COMBINED
Vous devriez voir l'écran suivant :
Vous pouvez utiliser les raccourcis clavier suivants pour naviguer dans l'interface :
F5 : Used to refresh the dashboard. G : Used to move to the last item in the dashboard and use g to move to the top of the dashboard. j and k : Used to scroll up and down. s : Used to display the sort options for the active module. ? : Used to display help information. TAB : Used to move forward. q : Used to exit from the program.
Maintenant, appuyez sur 1 pour afficher les visiteurs uniques, la bande passante et le nombre total d'accès par jour, comme indiqué ci-dessous :
Appuyez sur 2 pour afficher les fichiers non statiques les plus demandés sur votre serveur Web, comme indiqué ci-dessous :
Appuyez sur 3 pour afficher les informations sur les fichiers statiques tels que les images, CSS, JavaScript comme indiqué ci-dessous :
Appuyez sur 4 pour afficher le chemin des URL introuvables comme indiqué ci-dessous :
Appuyez sur 5 pour afficher le nom d'hôte et l'adresse IP du visiteur comme indiqué ci-dessous :
Appuyez sur 6 pour afficher les informations du système d'exploitation utilisé par les hôtes comme indiqué ci-dessous :
Appuyez sur 7 pour afficher les informations de chaque visiteur unique comme indiqué ci-dessous :
Appuyez sur 8 pour afficher les informations horaires du nombre de visites, de visiteurs uniques et de bande passante consommée comme indiqué ci-dessous :
Générer un rapport HTML
GoAccess vous permet également de générer un rapport HTML, JSON ou CSV et d'y accéder via le navigateur Web.
Vous pouvez le générer avec la commande suivante :
goaccess /var/log/apache2/access.log --log-format=COMBINED -a -o /var/www/html/report.html
Maintenant, ouvrez votre navigateur Web et accédez au rapport généré à l'aide de l'URL http://your-server-ip/report.html .
Vous devriez voir la page suivante :
Conclusion
Dans cet article, vous avez appris à installer et à utiliser GoAccess pour analyser les journaux de votre serveur Web Apache. Vous pouvez également utiliser cet outil pour Nginx, Amazon S3, Elastic Load Balancing et CloudFront. N'hésitez pas à me demander si vous avez des questions.