Webalizer

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Statistiques de fréquentation web
Commande webalizer
Contexte Logs Apache/Nginx — outil historique, rapports HTML générés par lot (cron)
Voir aussi Goaccess (alternative moderne, temps réel)

Webalizer génère des rapports statistiques HTML à partir de fichiers de logs Apache ou Nginx (visites, pages vues, referers, user-agents, répartition horaire/quotidienne/mensuelle…). C'est un outil ancien, aujourd'hui peu maintenu, qui fonctionne par lots : il faut le relancer (généralement via cron) à chaque fois qu'on veut rafraîchir les rapports. Pour un usage actuel, préférer Goaccess, qui couvre le même besoin sans dépendre d'une tâche planifiée et peut afficher des statistiques en temps réel.

Installation

apt install webalizer        # Debian/Ubuntu
yum install webalizer        # RHEL/CentOS

Configuration de base

La configuration se fait dans /etc/webalizer.conf (ou /etc/webalizer/webalizer.conf selon la distribution). Les deux directives essentielles :

LogFile   /var/log/apache2/access.log   # fichier de log à analyser
OutputDir /var/www/webalizer            # dossier où écrire le rapport HTML

D'autres directives courantes permettent d'affiner le rapport : HostName (nom affiché dans l'en-tête), Incremental yes (cumuler les statistiques d'une exécution à l'autre au lieu de repartir de zéro), DNSCache et DNSChildren (résolution inverse des IP en noms de domaine).

Exécution manuelle

Sans argument, webalizer lit le fichier de config par défaut :

webalizer                                                      # utilise /etc/webalizer.conf
webalizer -F clf -n www.example.com -o /var/www/webalizer /var/log/apache2/access.log   # rapport ponctuel, sans fichier de config
webalizer -p -F clf -n www.example.com -o /var/www/webalizer /var/log/apache2/access.log   # rapport incrémental (cumule avec les exécutions précédentes)
webalizer -i -F clf -n www.example.com -o /var/www/webalizer /var/log/apache2/access.log   # ignore l'historique, repart de zéro
webalizer -F clf -D dnsdb -n www.example.com -o /var/www/webalizer /var/log/apache2/access.log   # résout les IP en noms de domaine

Exécution via cron

Webalizer ne surveille rien en continu : les rapports ne se mettent à jour que si on le relance, d'où l'usage classique en tâche planifiée (toutes les heures ou une fois par jour selon le volume de logs) :

# /etc/cron.d/webalizer
0 * * * * root /usr/bin/webalizer -Q

L'option -Q ("quiet") évite d'écrire dans les logs système à chaque passage cron. C'est cette dépendance à une planification externe — contre un fonctionnement en temps réel sans cron — qui distingue le plus concrètement webalizer de Goaccess.

Voir aussi

  • Goaccess — alternative moderne activement maintenue, temps réel, ne nécessite pas de cron