Ajouter ses sections personnalisées dans Awstats

Après la configuration de base et l'activation de plugins, amusons-nous maintenant à personnaliser nos statistiques avec les "Extra Sections". Avant toute chose, il convient de rappeler que comme certains plugins, ces ajouts ralentissent la vitesse d'exécution d'Awstats : sur des sites internet très visités, il peut s'avérer très utile d'avoir une centralisation des logs et de ne pas utiliser Awstats directement sur les serveurs web de production.

Il est possible, grâce à ces sections, d'ajouter des filtres. Pour un site marchand par exemple on peut trier les produits et lister les meilleures ventes selon les catégories. Il est aussi possible, pour un blog, de voir les hits sur les flux RSS et même de voir quel client RSS est utilisé. C'est ce que je vous propose dans la suite.

Chaque "Extra Section" s'ajoute dans Awstats à la fin du fichier de configuration. Si vous souhaitez utiliser les mêmes sections pour plusieurs fichiers de configuration, il est possible de faire de l'inclusion de fichiers. On peut par exemple créer un fichier /usr/pkg/etc/awstats/extra_sections.conf et écrire dans le fichier de configuration de notre site internet la directive :

Include "extra_sections.conf"

Cela peut s'avérer très pratique car les sections sont numérotées. La première section voit ses variables suffixées par le chiffre 1, la deuxième par le chiffre 2, ainsi de suite... Le copier-coller est donc à manier avec précaution, je n'ai jamais tenté d'avoir deux sections 1.

Détaillons à présent un premier exemple : je cherche à lister les visites sur mes flux RSS.

ExtraSectionName1="Flux RSS / Atom"
ExtraSectionCodeFilter1="200 304"
ExtraSectionCondition1="URL,^\\/feed\\/.*"
ExtraSectionFirstColumnTitle1="Nom du flux"
ExtraSectionFirstColumnValues1="URL,^\\/feed\\/([\\w]+)\\/"
ExtraSectionStatTypes1=PHK
MaxNbOfExtra1=1000
MinHitExtra1=1

Cette section filtre donc les codes HTTP 200 et 304 ayant lieu dans le répertoires /feed/. J'affiche les URLs commençant par /feed/ pour les lister et enfin, j'indique le nombre de pages et le nombre de hits (qui dans ce cas de flux RSS ont la même valeur). Je décide de limiter le nombre d'entrée à 1000 et estime le nombre minimum de hits pour apparaître dans les stats à 1. Il est possible d'adapter simplement cet exemple à d'autres URLs.

Passons au deuxième exemple :

ExtraSectionName2="Lecteurs de RSS"
ExtraSectionCodeFilter2="200 304"
ExtraSectionCondition2="URL,^\\/feed\\/.*"
ExtraSectionFirstColumnTitle2="logiciel"
ExtraSectionFirstColumnValues2="UA,^([^\\/]*)"
ExtraSectionStatTypes2=PHBL
MaxNbOfExtra2=1000
MinHitExtra2=1

Cette fois-ci je ne liste pas l'URL mais le "User Agent" qui a fait la requête sur /feed/, ce qui me permet de lister les clients RSS utilisés. Enfin, je ne me contente pas seulement de lister les hits (H) et les pages (P), mais aussi la bande passante (B) et les dernières visites (L). On peut filtrer sur de nombreux critères, les voici :

  • URL
  • URLWITHQUERY
  • QUERY_STRING
  • REFERER
  • UA
  • HOSTINLOG
  • HOST
  • VHOST

La documentation d'Awstats possède une page consacrée aux Extra Sections dont je vous recommande la lecture. De même, un site nommé Internet Officer possède de nombreux exemples en rapport avec Google. Il est bien pratique, pour débuter avec les Extra Sections, de partir d'exemples fonctionnels proches (plus ou moins) du résultat qu'on souhaite obtenir. Enfin, le fichier de configuration d'Awstats reste en soi une excellente documentation grâce à la qualité des commentaires déjà présents.