Consultas recomendadas do LogParser para o monitoramento do IIS?

86

À medida que o Stack Overflow aumenta, começamos a examinar atentamente os logs do IIS para identificar clientes HTTP com problemas - coisas como spiders maliciosos da web , usuários que têm uma página grande configurada para atualizar a cada segundo, mal redigidos para uma única página, usuários enganadores que tentam incrementar a contagem de páginas um zilhão de vezes adiante.

Desenvolvi alguns LogParser consultas que nos ajudam a identificar a maioria das esquisitices e anormalidades quando apontadas para um arquivo de log do IIS.

Uso da largura de banda superior por URL

SELECT top 50 DISTINCT 
SUBSTR(TO_LOWERCASE(cs-uri-stem), 0, 55) AS Url, 
Count(*) AS Hits, 
AVG(sc-bytes) AS AvgBytes, 
SUM(sc-bytes) as ServedBytes 
FROM {filename} 
GROUP BY Url 
HAVING Hits >= 20 
ORDER BY ServedBytes DESC
url                                                   hits  avgbyte  served
-------------------------------------------------     ----- -------  -------
/favicon.ico                                          16774 522      8756028
/content/img/search.png                               15342 446      6842532

Principais acessos por URL

SELECT TOP 100 
cs-uri-stem as Url, 
COUNT(cs-uri-stem) AS Hits 
FROM {filename} 
GROUP BY cs-uri-stem 
ORDER BY COUNT(cs-uri-stem) DESC
url                                                                    hits
-------------------------------------------------                      -----
/content/img/sf/vote-arrow-down.png                                    14076
/content/img/sf/vote-arrow-up.png                                      14018

Maior largura de banda e hits por IP / User-Agent

SELECT TOP 30
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
Sum(sc-bytes) AS TotalBytes, 
Count(*) as Hits 
FROM {filename} 
group by c-ip, cs(User-Agent) 
ORDER BY TotalBytes desc
client         user-agent                                      totbytes   hits
-------------  ---------------------------------------------   ---------  -----
66.249.68.47   Mozilla/5.0+(compatible;+Googlebot/2.1;         135131089  16640
194.90.190.41  omgilibot/0.3++omgili.com                       133805857  6447

Largura de banda superior por hora por IP / Agente de usuário

SELECT TOP 30
TO_STRING(time, 'h') as Hour, 
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
Sum(sc-bytes) AS TotalBytes, 
count(*) as Hits 
FROM {filename} 
group by c-ip, cs(User-Agent), hour 
ORDER BY sum(sc-bytes) desc
hr   client        user-agent                                  totbytes   hits
--   ------------- -----------------------------------------   --------   ----
9    194.90.190.41 omgilibot/0.3++omgili.com                   30634860   1549
10   194.90.190.41 omgilibot/0.3++omgili.com                   29070370   1503

Principais ocorrências por hora por IP / Agente de usuário

SELECT TOP 30
TO_STRING(time, 'h') as Hour, 
c-ip as Client, 
SUBSTR(cs(User-Agent), 0, 70) as Agent, 
count(*) as Hits, 
Sum(sc-bytes) AS TotalBytes 
FROM {filename} 
group by c-ip, cs(User-Agent), hour 
ORDER BY Hits desc
hr   client         user-agent                                  hits  totbytes
--   -------------  -----------------------------------------   ----  --------
10   194.90.190.41  omgilibot/0.3++omgili.com                   1503  29070370
12   66.249.68.47   Mozilla/5.0+(compatible;+Googlebot/2.1      1363  13186302

O {nome do arquivo}, claro, seria um caminho para um arquivo de log do IIS, como

c:\working\sologs\u_ex090708.log

Eu fiz muitas pesquisas na Web para obter boas consultas do LogParser do IIS e descobri muito pouco. Estes 5, acima, nos ajudaram tremendamente na identificação de clientes problemáticos graves. Mas eu estou me perguntando - o que estamos perdendo?

Quais outras maneiras existem para cortar e cortar os logs do IIS (de preferência com consultas LogParser ) para minerá-los para anomalias estatísticas? Você tem alguma boa consulta do IIS LogParser executada em seus servidores?

    
por Jeff Atwood 25.07.2009 / 11:19

0 respostas