2009-02-15 16 views
6

Tengo el registro de IIS con el campo adicional 'foo'.Consultar registros de IIS con campos adicionales usando LogParser

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

Como resultado se rompen todas las consultas LogParser:

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

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

¿Es posible informar a LogParser acerca de estos campos adicionales, por lo que puede analizar archivos de IIS?

Respuesta

10

Pruebe el formato W3C (-i: W3C).

Si eso no funciona y este es un análisis de una sola vez, puede crear una secuencia de comandos para quitar esa columna. Si se trata de una actividad en curso, es posible que desee considerar el uso de un formato estándar, o al menos mover el campo adicional hasta el final.

Por cierto, LogParser admite custom input formats.

+0

-i: W3C trabajado! Incluso es posible consultar el valor 'foo'. – alex2k8

+0

Log Parser El formato W3C funciona con el encabezado "X-Forwarded-For" para probar la "adherencia" del equilibrador de carga –

0

No conozco LogParser, pero si no tiene éxito, puede probar splunk, que parece manejar con facilidad los diferentes formatos de registro.

0

use la opción -iHeaderFile para definir sus propios campos. logparser -h probará inforamtion adicional

0

¡Es muy fácil de hacer!

Simplemente utilice la función TRIM alrededor de la cuerda. De esta forma, puede escribir cualquier cadena que desee como un campo extra personalizado en una consulta del analizador de registros.

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

Por ejemplo, lo hago en esta consulta (utilizado para recuperar el tiempo promedio y máximo):

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" 
Cuestiones relacionadas