Awstats tuto

Salut,

Il est temps pour moi de payer un peu ma dette envers vous… lol
AWSTATS analyseur puissant et complet des fichiers journaux de serveur

AWSTATS lenny
[b]
aptitude install awstats

Changez les choses suivantes dans /etc/awstats/awstats.conf[/b]

LogFile="/var/log/apache2/access.log"
SiteDomain="" (mettez votre domain)

Renommez le fichier en "awstats.(votre domain).conf (ex awstats.debian.conf)

Lancer le perl suivant avec votre nom de domaine à la place de débian

/usr/lib/cgi-bin/awstats.pl -config=debian -update


Ajouter ceci dans apache2.conf

Alias /awstats-icon/ /usr/share/awstats/icon/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all

Redémarrer apache2

/etc/init.d/apache2 restart

Accédez à votre page en faisant:

debian/cgi-bin/awstats.pl?config=debian

Pour monitorer plusieurs virtualhosts sur le même serveur apache2

1- dans chaque virtualhost demander un fichier log spécifique

<virtualhost *:80>
ServerName zebulon.com
ErrorLog /var/log/apache2/www.zebulon.com.log
CustomLog /var/log/apache2/www.zebulon.com.log combined

<virtualhost *:80>
ServerName pollux.com
ErrorLog /var/log/apache2/www.pollux.com.log
CustomLog /var/log/apache2/www.pollux.com.log combined

2- faire une conf de awstat par virtual host et bien faire attention à comment on nomme les fichiers.

fichier /etc/awstats/awstats.www.zebulon.com.conf

LogFile="/var/log/apache2/www.zebulon.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases=“127.0.0.1 xx.xx.xx.xx zebulon.com zebulon.com"
DirIcons=”/awstats-icon"
AllowFullYearView=3

fichier /etc/awstats/awstats.www.pollux.com.conf

LogFile="/var/log/apache2/www.pollux.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases=“127.0.0.1 xx.xx.xx.xx pollux.com pollux.com"
DirIcons=”/awstats-icon"
AllowFullYearView=3

dans HostAliases on peut mettre tous les noms et adresses IP par lesquels ce site est joignable (donc qui peuvent identifier ce site dans les logs apache).

3- intégrer nos fichiers de conf dans le cron de awstats

modifier le fichier /etc/cron.d/awstats

0,10,20,30,40,50 * * * * root /bin/sh /root/awstats.sh

et créer le fichier /root/awstats.sh

perl /usr/lib/cgi-bin/awstats.pl -config=www.zebulon.com -update > /dev/null
perl /usr/lib/cgi-bin/awstats.pl -config=www.pollux.com -update > /dev/null

pour ne rater aucune information, bien penser à lancer aussi le script /root/awstats.sh lors des logrotate de apache en inserant dans le fichier /etc/logrotate.d/apache2 les lignes


prerotate
/bin/sh /root/awstats.sh
endscript

vous remarquerez que l’on utilise plus du tout le fichiers /etc/awstats/awstats.conf par défaut.

4- accéder aux stats

pour chaque stat, utiliser une URL differente relative au fichier de conf de awstats

domain.com/cgi-bin/awstats.p … ebulon.com

domain.com/cgi-bin/awstats.p … pollux.com

Tâche cron

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

Mais si tu change de fichier de conf ça devra être :

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.debian.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

Enjoy

Ça m’intéresse mais je n’ai pas de connaissance en cette matière.
Est-ce que je peux m’en servir pour mon site perso, hébergé par Free et pour lequel, je n’ai qu’une base Mysql :question:
Il faut obligatoirement apache :question:

[quote=“ricardo”]Ça m’intéresse mais je n’ai pas de connaissance en cette matière.
Est-ce que je peux m’en servir pour mon site perso, hébergé par Free et pour lequel, je n’ai qu’une base Mysql :question:
Il faut obligatoirement apache :question:[/quote]

Désolé Ricardo mais je peux pas te répondre… :blush:

Awstats s’appuie sur les logs d’apache pour faire les statistiques.
De mémoire Free ne met à disposition aucun log donc Awstats n’est pas un outil que tu peux mettre en pratique.

Donc il te faut soit mettre ton site sur une autre machine ou alors utiliser un autre système comme phpmyvisites/piwik/xiti …

Bonjour,

Sur les sites perso de free, les stats Webalizer sont disponible un peu moins joli que Awstat mais donne quasiement les mêmes infos.

statsperso.free.fr/

Salut,
Juste pour pinailler (ma spécialité…) :mrgreen: - Et je n’ai pas été élevé par des Jésuites…

Il faudrait commencer pas ça :

# aptitude install awstats

[quote=“lol”]Salut,
Juste pour pinailler (ma spécialité…) :mrgreen: - Et je n’ai pas été élevé par des Jésuites…

Il faudrait commencer pas ça :

# aptitude install awstats

Merci pour la vérification. :smt002

[quote=“artex”][quote=“lol”]Salut,
Juste pour pinailler (ma spécialité…) :mrgreen: - Et je n’ai pas été élevé par des Jésuites…

Il faudrait commencer pas ça :

# aptitude install awstats

Merci pour la vérification. :smt002[/quote]

Sinon, c’est parfait, ça fait des très jolis graphiques en couleur ! :smiley:
Il faudra mettre ça sur le Wiki un de ces 4’.
Mais d’abord une page sur l’installation d’un LAMP… Ne pas mettre la charrue avant les zébus…

Salut,

Je viens de me permettre d’ajouter à ce magnifique tuto à quoi servait AWSTATS :slightly_smiling:

pour monitorer plusieurs virtualhosts sur le même serveur apache2

1- dans chaque virtualhost demander un fichier log spécifique

<virtualhost *:80>
        ServerName www.zebulon.com
        ErrorLog   /var/log/apache2/www.zebulon.com.log
        CustomLog  /var/log/apache2/www.zebulon.com.log combined
        .....
</virtualhost>

<virtualhost *:80>
        ServerName www.pollux.com
        ErrorLog   /var/log/apache2/www.pollux.com.log
        CustomLog  /var/log/apache2/www.pollux.com.log combined
        .....
</virtualhost>

2- faire une conf de awstat par virtual host et bien faire attention à comment on nomme les fichiers.

fichier /etc/awstats/awstats.www.zebulon.com.conf

LogFile="/var/log/apache2/www.zebulon.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases="127.0.0.1 xx.xx.xx.xx www.zebulon.com zebulon.com"
DirIcons="/awstats-icon"
AllowFullYearView=3

fichier /etc/awstats/awstats.www.pollux.com.conf

LogFile="/var/log/apache2/www.pollux.com.log"
LogFormat = 1
LogType=W
DNSLookup=1
SiteDomain="zebulon.com"
HostAliases="127.0.0.1 xx.xx.xx.xx www.pollux.com pollux.com"
DirIcons="/awstats-icon"
AllowFullYearView=3

dans HostAliases on peut mettre tous les noms et adresses IP par lesquels ce site est joignable (donc qui peuvent identifier ce site dans les logs apache).

3- intégrer nos fichiers de conf dans le cron de awstats

modifier le fichier /etc/cron.d/awstats

et créer le fichier /root/awstats.sh

perl /usr/lib/cgi-bin/awstats.pl -config=www.zebulon.com -update > /dev/null
perl /usr/lib/cgi-bin/awstats.pl -config=www.pollux.com -update > /dev/null

pour ne rater aucune information, bien penser à lancer aussi le script /root/awstats.sh lors des logrotate de apache en inserant dans le fichier /etc/logrotate.d/apache2 les lignes

...
prerotate
        /bin/sh /root/awstats.sh
endscript
...

vous remarquerez que l’on utilise plus du tout le fichiers /etc/awstats/awstats.conf par défaut.

4- accéder aux stats

pour chaque stat, utiliser une URL differente relative au fichier de conf de awstats

http://www.domain.com/cgi-bin/awstats.pl?config=www.zebulon.com

http://www.domain.com/cgi-bin/awstats.pl?config=www.pollux.com

++

Tournicoti… Tournicoton…

awstats gere aussi l’analyse des fichiers logs d epostfix, mais c’est tout pourri car un mail qui fait des detours pas amavisd-new pour le spam et les virus est vu comme plusieurs mails. enfin c’est vraiment pas un outil ideal pour analyser les mails mais il a le merite de le faire.

alors juste un fichier sans explications.

dans /etc/awstats/awstats.mail.zebulon.com.conf

LogFile="perl /usr/share/doc/awstats/examples/maillogconvert.pl standard < /var/log/mail.log | "
SiteDomain="zebulon.com"
HostAliases="127.0.0.1 xx.xx.xx.xx www.zebulon.com zebulon.com"
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
#ShowEMailSenders=HBML
#ShowEMailReceivers=HBML
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1
DirIcons="/awstats-icon"
AllowFullYearView=3

ajouter ceci dans /root/awstats.sh :

perl /usr/lib/cgi-bin/awstats.pl -config=mail.zebulon.com -update > /dev/null

et les stats sont accessibles par cette url

mais je vous le repete ce n’est pas terrible. preferez pflogsum (Postfix Log Entry Summarizer) -> http://jimsun.linxnet.com/postfix_contrib.html beaucoup plus simpliste dans son analyse mais tellement suffisant.

Et bien voici un tuto bien complet…

Salut,
Je crois qu’un détail à été “omis” : la tâche “cron”

Par défaut c’est :

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

Mais si tu change de fichier de conf ça devra être :

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.debian.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

[quote=“lol”]Salut,
Je crois qu’un détail à été “omis” : la tâche “cron”

Par défaut c’est :

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null

Mais si tu change de fichier de conf ça devra être :

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.debian.conf -a -r /var/log/apache/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null[/quote]

Merci pour la tâche cron lol :041

Re,

J’étais devant mes beaux graphiques, et malgré [size=200]l’é-norme[/size] fréquentation due au Wiki je ne voyais rien bouger… :wink:
Et j’ai compris… :115

N’oublie pas de le rajouter à ton T&A (Dans le premier post, pour ne pas avoir à chercher…)
A propos de Wiki, tu devrais songer à mettre ton T&A (enrichi des apports de Thomas) dessus.

:006

le tuto est à jour, il est sur le wiki

l’est ou le wiki ?

ici :arrow_right: isalo.org/wiki.debian-fr

Hum la page sur awstat…

Elle a disparue avec mon disque dur. :mrgreen:

Nous devions la refaire, et puis c’est passé à la trappe…
Promis, je m’y colle aussi. :116

Salut,
J’aurais mis le temps… :mrgreen:

isalo.org/wiki.debian-fr/ind … le=AWStats