Coach


In pieno rock ".net" roll
Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005

Statistiche UrlReferer con Reporting Services e LogParser

Per fare Business Intelligence sul proprio sito, la cosa migliore è importare i log di IIS e creare dei report con l'utilizzo dei Reporting Services.

Come avevo già parlato in precedenza esistono dei report standard da cui si può partire, che tramite il LogParser importa i log di IIS in una tabella di Sql Server.

Solo che questo pacchetto non ha un report molto importante secondo me che è quello per UrlReferer che in pratica monitorizza le visite dei siti da cui provengono gli utenti.

Questo tipo di report può essere molto utile anche per monitorare per esempio una pubblicità che è stata inserita in un altro sito/portale e quindi capire se tale pubblicità da il suo rientro.

Detto questo vediamo come fare per creare questo report per l'UrlReferer.

Come prima cosa bisogna aggiungere l'attributo nei log di IIS che di default è disabilitato:

Aprire la console di IIS --> tasto destro sul website e selezionare properties--> poi abilitare il loggin se non è abilitato e cliccare su Properties.

Selezionare il tab Advanced e selezionare l'attributo Referer come mostrato in figura

Fatto questo bisogna modificare la query del log parser con cui si importano i file di iis.

Quella standar è

LogParser "SELECT date, time, strcat(strcat(strc
at(TO_STRING(TO_TIMESTAMP(date, time), 'hh'),':00-'), TO_STRING(TO_TIMESTAMP(dat
e, time), 'hh')),':59') AS Hour, TO_Int(TO_String(date,'MM')) as Month, TO_Int(T
O_String(date,'yyyy')) as year,c-ip, cs-username, s-sitename, s-computername, s-
ip, s-port, cs-method, cs-uri-stem, cs-uri-query, sc-status, sc-substatus, sc-wi
n32-status, sc-bytes, cs-bytes, time-taken, cs-version, cs-host, cs(User-Agent),
 cs(Cookie)"

basta aggiungere cs(Referer).

Però così facendo avremo l'intera url esempio www.sito.it/default.aspx?Id=1 e quindi avremo tutti i tipi di ricerca dai vari motori di ricerca e non sarebbe molto bello visualizzare l'intero path.

Se invece vogliamo fare una statistica solo sul dominio di provenienza dobbiamo usare un funzione del LogParser che è extract_token(cs(Referer),2,"/") con questa funzione viene estratto www.sito.it e quindi poi si può creare un statistica sicuramente migliore.

Quindi l'intera query sarà

LogParser "SELECT date, time, strcat(strcat(strc
at(TO_STRING(TO_TIMESTAMP(date, time), 'hh'),':00-'), TO_STRING(TO_TIMESTAMP(dat
e, time), 'hh')),':59') AS Hour, TO_Int(TO_String(date,'MM')) as Month, TO_Int(T
O_String(date,'yyyy')) as year,c-ip, cs-username, s-sitename, s-computername, s-
ip, s-port, cs-method, cs-uri-stem, cs-uri-query, sc-status, sc-substatus, sc-wi
n32-status, sc-bytes, cs-bytes, time-taken, cs-version, cs-host, cs(User-Agent),
 cs(Cookie), cs(Referer), extract_token(cs(referer),2,'/') FROM file.log TO GlobalIISLog" -i:IISW3C -o:SQL -server:$nomeserver -database:IISL
og -createtable:ON

Spero che vi possa aiutare per le vostre statistiche!

 

Categoria: SQL Server e BI
giovedì, 22 feb 2007 Ore. 14.21
  • Views Home Page: 302.177
  • Views Posts: 830.189
  • Views Gallerie: 359.025
  • n° Posts: 484
  • n° Commenti: 275












Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003