Ketika Stack Overflow tumbuh, kami mulai melihat dengan cermat pada log IIS kami untuk mengidentifikasi masalah klien HTTP - hal-hal seperti laba-laba web jahat , pengguna yang memiliki halaman besar yang diatur untuk menyegarkan setiap detik, pencakar web sekali pakai yang ditulis dengan buruk, rumit pengguna yang mencoba menambah halaman menghitung miliaran kali, dan sebagainya.
Saya telah datang dengan beberapa pertanyaan LogParser yang membantu kami mengidentifikasi sebagian besar keanehan dan kelainan ketika diarahkan ke file log IIS.
Penggunaan bandwidth teratas dengan 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 disajikan ------------------------------------------------- - ---- ------- ------- /favicon.ico 16774 522 8756028 /content/img/search.png 15342 446 6842532
Hit teratas dengan 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
hit url ------------------------------------------------- - ---- /content/img/sf/vote-arrow-down.png 14076 /content/img/sf/vote-arrow-up.png 14018
Bandwidth dan klik top oleh 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
klien, agen, jumlah pengguna, hit ------------- ------------------------------------- -------- --------- ----- 66.249.68.47 Mozilla / 5.0 + (kompatibel; + Googlebot / 2.1; 135131089 16640 194.90.190.41 omgilibot / 0.3 ++ omgili.com 133805857 6447
Bandwidth teratas per jam oleh IP / User-Agent
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
jam klien-agen pengguna hit - ------------- ----------------------------------- ------ -------- ---- 9 194.90.190.41 omgilibot / 0.3 ++ omgili.com 30634860 1549 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 29070370 1503
Hit teratas per jam oleh IP / User-Agent
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
jam agen pengguna klien mencapai totbytes - ------------- ----------------------------------- ------ ---- -------- 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 1503 29070370 12 66.249.68.47 Mozilla / 5.0 + (kompatibel; + Googlebot / 2.1 1363 13186302
{Nama file} tentu saja akan menjadi jalur ke file log IIS, seperti
c:\working\sologs\u_ex090708.log
Saya melakukan banyak pencarian web untuk pertanyaan-pertanyaan IIS LogParser yang bagus dan menemukan sedikit yang berharga. Kelima, di atas, telah sangat membantu kami dalam mengidentifikasi klien-klien bermasalah yang serius. Tapi saya bertanya-tanya - apa yang kita lewatkan?
Apa cara lain yang ada untuk mengiris dan memotong log IIS (lebih disukai dengan pertanyaan LogParser ) untuk menambang mereka untuk anomali statistik? Apakah Anda memiliki pertanyaan IIS LogParser yang Anda jalankan di server Anda?