WEBALIZER

programmazione & dintorni
Rispondi
admin
Site Admin
Messaggi: 205
Iscritto il: dom mar 20, 2016 9:24 pm

WEBALIZER

Messaggio da admin »

ANALISI DI UN SITO WEB
La costruzione di un sito web viene completata con l'analisi degli accessi per verificare quanto il sito sia visitato e quanti e quali documenti siano tra i più richiesti. L'analisi delle stringhe per la ricerca digitate può inoltre aiutare a rendere i documenti più accessibili in base alle preferenze.

La comunità Open Source mette a disposizione due validi strumenti: ‘webalizer’ per le statistiche di accesso ed ‘ht://Dig’ (recensito nello scorso numero) come motore di indicizzazione delle pagine web. Questi prodotti sono distribuiti con licenza GPL (GNU public license) e sono reperibili per ogni distribuzione LiNUX agli indirizzi: http://www.webalizer.com e http://www.htdig.org.

Webalizer 2.01
Webalizer è un'applicazione client che legge e analizza i file di log generati da un applicativo server (tipo Apache o Squid) e produce statistiche in formato HTML. L’analisi dei risultati viene rappresentata in formato grafico per facilitarne la lettura ed anche in formato testuale con voci ripartite in più colonne.

I formati di file supportati sono lo CLF (common log format) generato da server web tipo `apache’,lo xferlog e lo squid proxy log generati dal server ftp tipo 'wu-ftp’ e dal proxy server ‘squid’.

Avvio ed uso di webalizer
L'avvio di webalizer avviene con il comando digitato al prompt di sistema:

[root@ /root]# webalizer

L’applicazione webalizer accetta sia una nutrita gamma di opzioni, sia più file di configurazione (quello per default è /etc/webalizer.conf) laddove i report da generare siano più di uno; per esempio uno per il web server ‘apache’, uno per il server ftp ‘wu-ftpd’ ed infine uno per il proxy server ‘squid’.

Allo scopo è preferibile l'opzione ‘-c’ come nel seguente comando.:

[root /root]# webalizer -c /etc/webalizer.conf /var/log/httpd/access_log

oppure per un file di log per server ftp:

[root /root]# webalizer -c /etc/webalizer-ftp.conf /var/log/xferlog

Tuttavia le opzioni da passare in linea di comando hanno una equivalente parola chiave nel file di configurazione, per questo ci limiteremo a descrivere solamente questo ultimo metodo.

Un file di history (statistiche precedenti) viene altresì generato se si abilita l'analisi incrementale, scelta indispensabile se i file di log sono ruotati da una applicazione cron; questo meccanismo comporta un tempo sensibilmente più lungo per completare l'operazione, tuttavia garantisce che le statistiche siano coerenti con i dati letti.

L'output generato da webalizer è composto da più report in formato html e grafici in formato PNG per ogni mese di attività ed una pagina di sommario che raccoglie gli ultimi dodici mesi di statistiche (index.html). Si veda la Figura 1.

In Figura 2 vi è il sommario dell'accesso giornaliero al server Web del mese corrente. Le tabelle con i valori numerici sono riassunte con un grafico ad istrogrammi. Uno a torta invece suddivide gli accessi per nazione di provenienza (Figura 3), mentre in Figura 4 si vedono le stringhe di ricerca digitate nel form della home page ed inviate all'applicazione htdig.

Per concludere nelle Figure 5 come il sito è (ben voluto e ricercato) dai motori di ricerca (sic!).



File di configurazione standard
Se l'introduzione ha convinto il lettore parliamo di informatica seria! - Stop ai colori ed armatevi di vi o emacs... -

Di seguito un file di configurazione autoesplicativo.

# file /etc/webalizer.conf
#
# Il percorso completo del nome del file da analizzare.
# In questo esempio è il log generato dal server web apache
LogFile /var/log/httpd/access_log

# Il tipo di formato di log da analizzare. Webalizer si
# aspetta in input un file CLF.
# i valori che può assumere sono:'clf', 'ftp' o 'squid'.
LogType clf

# La directory di uscita dove memorizzare i file di output.
# Se non viene specificata viene usata la directory corrente.
OutputDir /var/www/html/reports

# Rappresenta il nome del file che memorizza i dati degli ultimi
# dodici mesi di log per generare la pagina index.html.
# Se non viene specificato nessun percorso, ma solo il nome del
# file esso è relativo al parametro OutputDir.
HistoryName webalizer.hist

# Porre a yes se si vuole usare il processo incremntale, utile
# in presenza di file di log che ruotano almeno due volte al mese.
Incremental yes

# Come per il parametro HystroyName, solo relativo al processo
# incrementale.
IncrementalName webalizer.current

# Il testo da visualizzare come titolo. In coda viene riportato
# anche il nome dell'host webalizer è localizzato.
ReportTitle “Usage Statistics for”

# Definisce l'hostname per il report.
# Viene usato sia nel titolo che nella tabella degli URL.
# Questo parametro aiuta in presenza di virtual server o di
# web server remoti.
# Se non viene specificato viene usata la chiamata di sistema
# standard per determinarne il nome.
HostName linuxdidattica.org

# L'estensione da postporre ai file di reports.
# Possibili valori possono essere: php, phtml...
HTMLExtension html

# “PageType” specifica a webalizer i file di pagina.
# Per la spiegazione leggere la sezione “Analisi dei risultati”.
PageType htm*
PageType cgi
PageType phtml
PageType php3
PageType php
PageType pl


# “DNSCache” specifica il nome del file di cache utilizzato per
# lo reverse lookup se nei file di log viene individuato un
# numero IP.
# Se non viene speicficato un percorso il nome è relativo alla
# directory di uscita.
DNSCache dns_cache.db

# Consente di specificare il numero di processi figli utilizzati
# per il reverse lookup degli indirzzi IP.
# Se viene specificato un numero diverso da zero, la cache verrà
# aggiornata ad ogni avvio di webalizer e prima del processo di
# analisi.
# Il valore zero disabila la cache DNS.
DNSChildren 5

# Elimina i messaggi di ouput, utile se webalizer viene avviato
# da un cron job.
Quiet no

# A differenza del parametro “Quiet” disabilita anche i messagi di
# errore e tutti i messaggi in generale.
ReallyQuiet no

# Imposta il default timeout in secondi per la visita o sessione.
# Leggere il paragrafo “Analisi dei risultati”.
VisitTimeout 1800

# Le parole chiave con “Top” definiscono il numero di entrate
# visualizzabile per ogni tabella. Il parametro di default varia
# secondo tabella.
# Il valore di zero disabilita la tabella corrispondente.
TopSites 30
TopURLs 30
TopAgents 15
TopCountries 50
TopEntry 10
TopExit 10
TopSearch 20
TopUsers 20

# Le parole chiave con “All” generano delle pagine HTMl separate
# dove sono contenuti tutti gli URL, Sites, Referrers, User Agents,
# Search Strings e Usernames.
# Per raggiungere queste pagine viene aggiunto un link sotto alla
# tabella relativa.

AllSites yes
AllURLs yes
AllReferrers yes
AllAgents no
AllSearchStr yes
AllUsers yes

# Le parole chiave con “Hide”, “Group”, “Ignore” e “Include”
# consento di modificare il comportamento di “Sites”, “URL”,
# “Referrers”, “User Agents” e “Usernames”.
# “Ignore” impone a webalizer di ignorare in modo completo il
# recortd.
# “Hide” non visualizza il record nella tabella top, tuttavia
# viene contato nei totali.
# “Group” raggruppa oggetti simili nella tabella “Top”.
# questi oggetti non possono essere nascosti e non vengono contati
# nella tabella totale.
# Gli oggetti non vengono nascosti singolarmente, quindi si dovrà
# eventualmente considerare un record Hide.
# “Include” forza l'inserimento di record nel file di log.
# hanno precedenza rispetto ad “Ignore”.
# I valori possono essere completati per mezzo di wildcard “*”.

HideSite localhost
HideSite 217.57.34.98
HideSite *linuxdidattica.org
HideSite 217.57.34.100
HideSite 192.168.*
HideSite *.inf.besta
HideSite *.mat.besta

HideReferrer *linuxdidattica.org
HideReferrer 217.57.34.98
HideReferrer 217.57.34.100
HideReferrer 192.168.*
HideReferrer localhost
HideReferrer *.inf.besta
HideReferrer *.mat.besta

HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
HideURL *.exe


HideUser root
HideUser admin

GroupURL /cgi-bin/* CGI Scripts
GroupURL /images/* Images

IgnoreURL /scripts*
IgnoreURL /*.exe
IgnoreURL /c/*
IgnoreURL /d/*
IgnoreURL /MSADC/*
IgnoreURL /msadc/*
IgnoreURL /_vti_bin/*
IgnoreURL /_mem_bin/*

IgnoreSite *.inf.besta
IgnoreSite *.mat.besta
IgnoreSite 192.168.*
IgnoreSite *linuxdidattica.org
IgnoreSite localhost

IgnoreURL /rapporti/*
IgnoreURL *.css
IgnoreURL /pagine_prova/

# “SearchEngine” viene usato per individuare la stringa immessa
# per ricercare il sito con i motori di ricerca.
SearchEngine yahoo.com p=
SearchEngine altavista.com q=
SearchEngine google.com q=
SearchEngine eureka.com q=
SearchEngine lycos.com query=
SearchEngine hotbot.com MT=
SearchEngine msn.com MT=
SearchEngine infoseek.com qt=
SearchEngine webcrawler searchText=
SearchEngine excite search=
SearchEngine netscape.com search=
SearchEngine mamma.com query=
SearchEngine alltheweb.com query=
SearchEngine northernlight.com qr=

Non sono state documentare le parole chiave con “Dump” le quali consentono di memorizzare l'output in un formato importatibile in database SQL.

Analisi dei risultati
Ogni richiesta inviata al server (pagine html, file immagine, ...) viene registrata e classificata nell'output delle statistiche come “Hits”.

Le pagine html, come i file di immagine richiedono l'invio al client del contenuto stesso, questa azione viene registrata come file ed il contatore corrispondente “Files”, viene incrementato. Le “Hit” rappresentano i “colpi” in entrata, i “Files” le risposte in uscita.

Il contatore “Pages” rappresenta qualsiasi cosa che genera un documento in formato HTML, o un documento HTML stesso; sono esclusi quindi immagini, suoni, file compressi,... Generalmente viene considerato pagine tutto quello che termina con .html, .htm, .cgi, .php, .php3, .php4, .cgi. Il comportamento è modificabile.

Le richieste pervenute al server da un unico indirizzo IP vengono registrate nel contatore “Sites”.

Legato al contatore “Sites” c'è il contatore “Visits”; esso lega un valore di timeout, generalmente 30 minuti primi, per ogni “Sites”; se un “Sites” ritorna superato questo periodo viene incremntato il contatore “Visits”. Da questa considerazione si evince che questo parametro non dà un'analisi accurata del numero delle visite.

Il contatore “Kbytes” visualizza il numro di bytes in uscita prodotti dal web server, ossia il traffico prodotto dallo stesso.

I contatori “Entry Pages” e “Exit Pages” stimano il numero di URL usati per entrare nel sito monitorato e quale è l'ultima pagina visitata. Anche questa indicazione può non essere rigorosa per i limiti intrinseci del protocollo HTTP, tuttavia indica i trend di entrata ed uscita.

tratto da http://scuola.linux.it/docs/linuxmagazi ... tta18.html
Rispondi