09/05/2013

Analisi log con Webalizer

Al giorno d’oggi le analisi di log per webserver sembrano una cosa preistorica, con l’avvento dei sistemi di analisi degli accessi (es Piwik) servizi gloriosi come Webalizer o Awstats sono ormai considerati antiquati e non più adatti alle esigenze “dell’uomo che non deve chiedere mai” :\

In realtà l’analisi di log è una pratica che ha ancora una grande utilità, soprattutto per il monitoraggio dei servizi e di alcune risorse (es traffico generato dalle richieste http).

Come dicevo poco sopra i due indiscussi protagonisti in questo ambito software sono Awstats e Webalizer, il primo fornisce un report più dettagliato e utile in ottica di analisi degli accessi, il secondo risulta infinitamente più veloce e versatile, non richiede setup particolari ne ha requisiti di alcun tipo, basta lanciare il binario passando le opportune opzioni e il gioco è fatto.
Per questi motivi Webalizer è ancora oggi il mio software di riferimento per le analisi estemporanee “prima di subito”, tra colleghi però vedo che spesso viene scartato per il semplice fatto che non permette analizzare più file con un solo comando.

Per ovviare a questa limitazione basta lanciare un banale ciclo for per analizzare tutti i file di log richiesti con un unico comando, ovviamente utilizzando l’opzione -p per effettuare una analisi incrementale (altrimenti l’analisi di un mese verrebbe sovrascritta al passaggio tra un log e il successivo).

Ecco un semplice script bat per fare tutto questo:

@echo off
set webalizerbase=c:\utils\webalizer
rem personalizzare le tre variabili che seguono
set logdir=%webalizerbase%\log\domain
set analisidir=%webalizerbase%\analisi\domain
set hostname=www.domain.tld
del /F %webalizerbase%\logs.txt
dir %logdir%\* /O /B /S > %webalizerbase%\logs.txt
for /F %%v in (%webalizerbase%\logs.txt) do %webalizerbase%\webalizer.exe -o %analisidir% -n %hostname% -Q -p %%v

Lascia un commento

NB: I commenti sono moderati, questo potrebbe rallentare la pubblicazione del tuo commento.