Come Analizzare i Log Awstats

Generalmente l’analisi del traffico sui siti web viene fatto strumenti sul genere di google analytics che si basano su chiamate dei client, generate da javascript, a siti di terze parti che si occupano della raccolta e della reportistica dei dati.

I server web generano però enormi quantità di log che contengono molti dettagli su tutte le attività del sito web. Nel caso di problemi specifici gli strumenti per analizzarli sono i vari tool della shell e il magari il perl ma se quello che si vuole è monitorare l’andamento del sito la cosa migliore è ricorrere a tool specifici. Uno dei tool storici per questa attività in ambiente LAMP è awstats.

Awstats è un insieme di scripts che si occupa di analizzare i log che gli vengono serviti e genera dei report fruibili poi attraverso un server web. Awstats è in grado di lavorare molti tipi di log che spaziano da quelli di svariati tipi di web server (come Apache o anche IIS) a quelli di ftp server o mail server.

Awstats non è il solo tool e loro stessi riportano una tabella di comparazione con altri prodotti analoghi.

Passiamo ora ad esaminare come configurare awstats. Come iare sempre non troverete qui una guida completa ma un punto di partenza per poter iniziare ad esplorare le potenzialità di questo prodotto.

La prima cosa è ovviamente istallarlo. Anche awstats è presente in gran parte delle distribuzioni. Su debian/ubuntu potrete quindi procedere con:

aptitude update
aptitude search awstats
aptitude install awstats apache2
Alternativamente dal sito di awstats è possibile effettuare il download dell’ultima versione stabile.

Se si procede da pacchetto si avranno a questo punto nella directory

/usr/share/doc/awstats/examples
molti file di esempio utili.

Iniziamo ora dalla configurazione di apache necessaria per la visulizzazione dei report: bisogna infatti istruire apache a mostrare i report aggiungendo ad un vhost le seguenti direttive:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

Alias /awstatsclasses “/usr/share/awstats/lib/”
Alias /awstats-icon “/usr/share/awstats/icon/”
Alias /awstatscss “/usr/share/doc/awstats/examples/css”
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
E’ necessario poi riavviare apache.

Passiamo ora all’anailsi dei file. Cominciamo facendo una copia del file /etc/awstats/awstats.conf rinominandolo in awstats.dominio.it.conf.
Le righe fondamentali da editare al suo interno sono

LogFile: che dovrà contenere il nome completo di path dei log da esaminare
SiteDomain: che conterrà il nome del dominio
HostAliases: per indicare, separati da spazi, eventuali nomi alternativi del dominio
LoadPlugin: vorremo probabilmente aggiungere almeno “ipv6”
LogFormat: permette di descrivere in dettaglio il formato dei log se non sio è utilizzato quello standard di apache o squid.
I parametri configurabili sono veramente molti e, se non la documentazione, il file merita almeno una scorsa per individuare elementi di interesse.

A questo punto non rimane che scaricare il file di log nella directory e far parsare il file ad awstats. Da sottolineare che i vari file di log devono essere processati nell’ordine in cui vengono generati e che il nome nella configurazione è univoco e bisognerà quindi o copiare giorno per giorno il file di log nella directory designata sovrascrivendo il precedente o sfruttare un link simbolico. Si tratta comunque di un’attività facilmente automatizzabile.

Procediamo quindi con il parse

/usr/lib/cgi-bin/awstats.pl -config=dominio.it -update
Se apache è stato configurato sulla propria macchina e se l’elaborazione è stata fatta localmente sarà possibile vedere il report sull’url

http://localhost/awstats/awstats.pl?output=main&config;=dominio.it&framename;=index