2009-02-15 10 views
6

Ho un registro IIS con campo aggiuntivo 'pippo'.Query IIS registra con campi aggiuntivi utilizzando LogParser

#Fields: foo date s-sitename ... 
foo1 2009-02-15 W3SVC1 ... 
foo2 2009-02-15 W3SVC1 ... 

Come risultato tutte le query LogParser sono rotti:

logparser -i:IISW3C "SELECT c-ip, s-ip FROM my.log" 

Statistics: 
----------- 
Elements processed: 0 
Elements output: 0 
Execution time:  0.00 seconds 

E 'possibile comunicare LogParser su tali campi aggiuntivi, in modo che possa analizzare i file di IIS?

risposta

10

Provare il formato W3C (-i: W3C).

Se ciò non funziona e questa è un'analisi una tantum, è possibile creare uno script per rimuovere quella colonna. Se si tratta di un'attività in corso, è consigliabile prendere in considerazione l'utilizzo di un formato standard o almeno lo spostamento del campo aggiuntivo fino alla fine.

A proposito, LogParser supporta custom input formats.

+0

-i: W3C ha lavorato! È anche possibile interrogare il valore "pippo". – alex2k8

+0

Il parser di registro formato W3C funziona con l'intestazione "X-Forwarded-For" per testare il bilanciamento del carico "stickiness" –

0

Non so su LogParser, ma se non si riesce con quello si potrebbe provare splunk che sembra gestire diversi formati di registro abbastanza facilmente.

0

Utilizzare l'opzione -iHeaderFile per definire i propri campi. logparser -h dimostrerà ulteriori inforamtion

0

È molto facile da fare!

Basta usare la funzione TRIM attorno alla stringa. In questo modo, è possibile digitare qualsiasi stringa desiderata come campo aggiuntivo personalizzato in una query del parser dei log.

Riferimento: http://logparserplus.com/Functions#function_TRIM

Per esempio, lo faccio in questa query (utilizzata per recuperare il tempo medio e massimo):

logparser -i:IISW3C -rtp:-1 -o:NAT -headers:OFF -iw:ON "SELECT TRIM('my-website-custom-extra-column-name.com') AS siteName, TRIM('foo-bar-custom-extra-column-name') AS fooBar, AVG(time-taken) As AverageTimeTaken, MAX(time-taken) As MaxTimeTaken, COUNT(*) As Hits, TO_LOWERCASE(cs-uri-stem) As Uri FROM C:\inetpub\yourwebsite.com\ex*.log TO c:\myOutputParsedLog.txt WHERE (Extract_Extension(To_Lowercase(cs-uri-stem)) IN ('aspx')) GROUP BY TO_LOWERCASE(cs-uri-stem) ORDER BY AverageTimeTaken DESC" 
Problemi correlati