1

GoAccess pour analyser ses logs Apache

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.

goaccess-logo

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

GoAccess HTML report screenshot

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.

6

UwAmp, le serveur Apache MySQL PHP pour Windows qui vous facilitera la vie

Je viens aujourd'hui vous présenter une alternative aux serveurs AMP (Apache, MySQL, PHP) pour Windows déjà existant tel que Wamp ou EasyPHP. Voilà un petit moment que j'en avais entendu parler du côté de chez Korben mais je n'avais pas encore pris le temps de le tester. C'est aujourd'hui chose faite et je dois avouer avoir été plus que séduit par la simplicité et l'efficacité de ce soft ainsi que par ses possibilités. Au niveau de l'installation, l'exe permet d'avoir une installation classique avec wizard, mais il est possible de l'utiliser en version portable via les versions RAR et ZIP qui nous sont proposées sur la page de téléchargement. Une fois le programme lancé, les services Apache et MySQL se lancent automatiquement.

A partir du panneau d'administration, nous avons accès à l'état du serveur, la configuration actuelle de PHP/Apache et la possibilité d'accéder à tous les réglages/dossiers/pages usuels ou encore de passer le serveur en online/offline en quelques clics: que du bonheur ! Petit bémol tout de même puisque la "boite à outils" n'est pas paramétrable et du coup, certains raccourcis peuvent s'avérer inutiles lorsque les paramètres par défaut sont modifiés (comme l'emplacement du dossier www par exemple), une option pour changer tout ça dans les préférences serait la bienvenue lors de la prochaine MAJ. Il nous est également possible de switcher entre les versions de PHP via le menu "PHP Version", ce qui risque de faire plaisir aux développeurs qui souhaitent tester leurs codes sur toutes les moutures sans avoir à retourner dans les fichiers de conf à chaque fois. Lors de chaque changement (et si vous ne l'avez pas décoché dans les préférences), les services redémarrent afin de prendre les modifications en compte. Tant que je vous parle des préférences, je voulais également vous signalez que vous pouvez y changer votre éditeur de texte par défaut (c'est quand même plus funky de se repérer dans Notepad++ que dans notepad non ?).

Comme vous pouvez le voir sur le screenshot ci-dessus, une gestion de monitoring est de la partie avec les pourcentages de consomation CPU, et si vous cliquez sur l'icône juste à côté, vous aurez deviné qu'une fenêtre avec un histogramme en temps réel s'ouvrira (pratique pour avoir une vue d'ensemble quand on s'inquiète pour ses ressources).

Au niveau des configurations avancées, vous pouvez gérer vos Virtual Hosts et les modules actifs pour Apache et PHP et pour les plus pointilleux d'entre vous, je ne l'ai pas testé personnellement mais sachez que vous avez également la possibilité d'installer vos versions de PHP en les plaçant dans le dossier apache présent dans votre répertoire d'installation d'UwAmp.

Vous l'aurez compris, j'ai été enchanté par cet ensemble AMP et la seule chose que je regrette c'est que ce jeune et beau projet français ne soit pas open source (mais c'est déjà pas mal qu'il soit proposé gratuitement, oui je sais que je suis exigeant).

ps: attention pour tous les habitués des autres solutions, les identifiants du compte par défaut sont root/root ! Les autres ne mettant pas de mot de passe par défaut, ça peut surprendre.

Liens utiles: