« SPAM ASSASSIN sous Domino | Main| Domino 8 »

AWSTATS

8,8

Intégrer AWSTATS à un serveur Domino
Tout vient à point à qui sait...
Olivier Franchet me l'avait demandé dans un commentaire, j'ai également reçu quelques mails sur le sujet,
ce post aborde donc la manière dont AWSTATS peut s'intégrer à un serveur Web Domino...

...
AWSTATS est un superbe outil d'analyse de statistiques de serveur WEB, FTP ou SMTP intégrable à différents environnement.

L'idée globale est de disposer d'un outil graphique d'analyse des statistiques du serveur HTTP Domino. Il est bien sur possible de modifier la structure de la base Domlog.nsf et de développer un outil de présentation et de requête sur les données de log. LOTUS a déjà plus que sensiblement amélioré les choses dans les dernières versions de Domino, mais on reste sur un principe de vues, et Domino ne fait qu'enregistrer les données d'activités du serveur Web. Il n'y a pas d'outil ou de module de reporting.

AWSTATS, outil open source, peut s'appuyer sur les logs du serveur HTTP domino pour produire des rapports graphiques sur l'activité de votre serveur Web. La mise en place peut s'effectuer autant sur un serveur LINUX que sur un serveur Windows. Les options de paramétrage des rapports sont extrêmement puissantes.

Voici donc une méthodologie d'intégration d'AWSTATS à un serveur Web Domino tournant sous Windows.

Pré-requis Domino
Domino peut fournir des informations de log de deux manières :
  • Dans une base nsf (la base domlog.nsf)
  • De manière traditionelle, dans des fichiers texte interprétables par la plupart des outils de reporting.
AWSTATS requiert le second mode de fonctionnement.
Vous devez donc configurer votre serveur Web Domino, dans le document serveur, de la façon suivante :

Options de log

A picture named M2

Mode de log
A picture named M3

Il est bien sur possible de continuer à utiliser la base Domlog.nsf, mais il y redondance avec les fichiers texte.

Emplacement et noms des fichiers de log
A picture named M4

Redémarrez ensuite la tâche HTTP pour prise en compte des modifications :
TELL HTTP RESTART à la console serveur.

Pré-requis logiciels

AWSTATS requiert un interpréteur PERL afin de pouvoir être exécuté.
Référez vous à l'article du 02/02 (SpamAssassin)   pour plus d'infos à ce sujet
Vous pouvez télécharger AWSTATS à l'url suivant : http://awstats.sourceforge.net/" target="_blank">awstats.sourceforge.net

Installer AWSTATS

Après avoir vérifié les pré-requis Domino et installé l'interpréteur PERL, installez AWSTATS. C'est la partie la plus simple de la procédure :
lancez l'exécutable que vous avez téléchargé, puis suivez les instructions.

Dans mon exemple AWSTATS est installé en c:\awstats.
 En fin de configuration, tapez none pour la déclaration du serveur Apache  :

A picture named M5

Puis Y pour la création d'un premier fichier de configuration :

A picture named M6

Donnez le nom du fichier de configuration :

A picture named M7

Puis tapez deux fois sur <ENTER> pour quitter la configuration

A picture named M8

Configurer AWSTATS

Cette étape de configuration va vous permettre d'intégrer l'analyseur à Domino.
  1. Créez un répertoire AWSTATS dans le sous répertoire Domino du répertoire data de votre serveur , par exemple dans Data\Domino\HTML.
  2. Copiez le contenu du répertoire C:\AWStats\wwwroot\icon dans data\domino\html\awstats\icon
  3. Copiez le contenu de C:\AWStats\wwwroot\cgi-bin dans data\domino\cgi-bin
  4. Copiez le contenu de C:\AWStats\tools dans data\domino\cgi-bin
  5. Vous devez maintenant configurer les options de rapports. Vous pouvez partir du fichier awstats.model.conf ou de awstats.test.conf (c'est le nom que j'ai donné au fichier de configuration précédemment. Vous venez de recopier ces fichier au point 3.
  6. Editez le fichier, puis modifiez la ligne :
    LogFile="/var/log/httpd/mylog.log"
    en
    LogFile="perl ./logresolvemerge.pl d:/domino/data/weblogs/access*.log |"

    d:/domino/spica/weblogs/access*.log est le chemin d'accès aux logs du serveur http.
  7. Définissez plus bas LogType=W afin de n'auditer que les statistiques HTTP
  8. LogFormat=1 pour un serveur Domino
  9. Définissez ensuite le domaine ou l'URL à auditer dans la variable SiteDomain
  10. Dans l'exemple de cette configuration, vérifiez les variables suivantes :
    DirData="."
    DirCgi="/cgi-bin"
    DirIcons="/icon"
  11. Modifiez ensuite toutes les autres variables du fichier en fonction de vos besoins (mode d'update, langues, modules à afficher, nivuau de détails...) puis enregistrez le fichier de configuration.
  12. Lancez manuellement l'initialisation du fichier index d'AWSTATS :
    dans une fenêtre de commandes Dos, naviguez vers votre répertoire cgi-bin, puis tapez
    PERL awstats.pl -config=test -update

Planifier la mise à jour des rapports de statistiques

AWSTATS doit maintenant être exécuté de manière planifiée en fonction de la régularité des rapports que vous souhaitez obtenir.
  1. Créez un fichier batch dans le répertoire des exécutables de votres serveur (c:\lotus\domino par exemple).
  2. Exemple de contenu du fichier exemple awstats.bat  :
    d:
    cd domino\data\domino\cgi-bin
    c:\perl\bin\perl.exe awstats_buildstaticpages.pl -awstatsprog=d:/domino/data/domino/cgi-bin/awstats.pl -config=test -dir=../html/awstats/ -update
  3. Créez un document de programme dans l'annuaire domino pour planifier l'exécution du batch :

    A picture named M9

    A picture named M10


L'URL d'accès aux statistiques se situe http://votreserveur.domaine.fr/cgi-bin/awstats.pl?config=test

That's all, du moins dans les grandes lignes, il existe de nombreuses extensions que l'on peut implémenter sur AWSTATS. Référez-vous au site http://awstats.sourceforge.net/" target="_blank">awstats pour obtenir des informations sur ces modules.

Comments

Gravatar Image8 - Quel modèle de blog utilises-tu ? Celui de la V7 ? Si c'est le cas le HTML Heading marche bien.
La première possibilité que j'avais envisagée était un agent afin de générer le fichier urlalias.txt à partir des documents d'une vue, par exemple, afin de mettre en correspondance les URL Notes et des valeurs issues de champs. Cela présente en plus l'intérêt d'éliminer pas mal d'Unknown Titles dans awstats.

Gravatar Image7 - bon, le script urlaliasbuilder est pas mal, sauf que dominoBlog ne gère pas les titres des pages (ou du moins je n'ai pas trouvé)! Il va falloir que je trouve une solution Emoticon

Gravatar Image6 - En voilà une merveilleuse nouvelle. J'espère me trouver du temps ce we pour le mettre en oeuvre sur Dominux.
Stay tune !

Gravatar Image5 - Autant pour moi, le script urlaliasbuilder.pl marche super bien.

La syntaxe, à partir du répertoire des fichiers de config d'awstats, est, par exemple:
perl urlaliasbuilder.pl site=IPdu serveurDomino urllistfile=awstats012007.domino.txt urlaliasfile=urlalias.txt -overwrite
si je veux générer les alias pour les pages visitées en janvier 2007. Overwrite optionnel pour écraser le fichier d'alias existant.
Le script va requêter le serveur Domino et colle le titre HTML de la page comme alias. UnknownTitle si pas de titre.

Gravatar Image4 - @ Olivier : il y a une possibilité de paramétrage qui n'implique pas de toucher au format des logs.

Dans le fichier de configuration d'AWSTATS, il faut décommenter la ligne :
LoadPlugin="urlalias"
Cette option permet d'afficher du texte (un alias) avant l'URL dans la section des pages visitées, le titre de la page par exemple.
Il faut en parallèle créer un fichier nommé urlalias.txt (dans le même répertoire que le fichier de configuration), et valoriser le fichier avec 2 champs séparés d'une tabulation (url texte), autant de lignes que d'URL à préfixer.
/web/domsphere.nsf/d6plinks/PMOY-6Y2DYZ SpamAssassin sous Domino , par exemple, produit le résultat suivant :

caption.jpg

Pourquoi pas ensuite un agent qui alimente le fichier pour l'ensemble des pages publiées en collant comme alias une valeur issue de champs Notes.

Awstats fournit un script urlaliasbuilder.pl qui doit à priori être censé le faire à partir du log au format raw. A creuser, je n'ai pas réussi à le faire tourner correctement et je ne suis même pas sur qu'il soit prévu pour cela (je ne l'ai pas encore examiné, toujours le même problème avec le temps va !!!).



Gravatar Image3 - @Julien : on voulait tous le faire cet article

@Pierre : Bravo, une brique de plus dans la communauté.

Juste un point qui reste à faire : travailler les URL pour qu'elles soient vraiment utilisable par stats. Concrêtement, j'avais pensé à travailler les URLs dans la base domlog.nsf pour traiter les titres de documents (ou autre éléments paramétrable suivant l'application) et de l'extraire en fichier ensuite pour AWSTAT! Mais bon, comme un blog, le tps fait souvent défaut

Gravatar Image2 - Eh oui, le probleme avec un blog c'est de trouver le temps... d'y ecrire.

Gravatar Image1 - Super article.

En 2005 j'avais moi aussi prévu d'en faire un... qui n'est jamais venu

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)