เมื่อ Stack Overflow เติบโตขึ้นเราจะเริ่มดูบันทึก IIS ของเราอย่างใกล้ชิดเพื่อระบุปัญหาไคลเอนต์ HTTP - สิ่งต่าง ๆ เช่นแมงมุมเว็บสไปเดอร์ผู้ใช้ที่มีหน้าเว็บขนาดใหญ่ตั้งค่าให้รีเฟรชทุกวินาที ผู้ใช้ที่พยายามเพิ่มหน้าเว็บนับเป็นพันล้านครั้งเป็นต้น
ฉันได้คำค้นหาLogParserสองสามข้อที่ช่วยให้เราระบุความผิดปกติและความผิดปกติส่วนใหญ่เมื่อชี้ไปที่ไฟล์บันทึก IIS
การใช้แบนด์วิดท์สูงสุดตาม 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 avgbyte ------------------------------------------------- - ---- ------- ------- /favicon.ico 16774 522 8756028 /content/img/search.png 15342 446 6842532
ความนิยมสูงสุดตาม 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 ยอดนิยม ------------------------------------------------- - ---- /content/img/sf/vote-arrow-down.png 14076 /content/img/sf/vote-arrow-up.png 14018
แบนด์วิดท์ยอดนิยมและความนิยมโดย IP / ตัวแทนผู้ใช้
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
โทเค็นผู้ใช้ - เอเจนต์ไคลเอ็นต์ totbytes ------------- ------------------------------------- -------- --------- ----- 66.249.68.47 Mozilla / 5.0 + (ใช้งานร่วมกันได้; + Googlebot / 2.1; 135131089 16640 194.90.190.41 omgilibot / 0.3 ++ omgili.com 133805857 6447
แบนด์วิดท์สูงสุดต่อชั่วโมงโดย 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
โทเค็นของผู้ใช้ - เอเจนต์ totbytes ของไคลเอ็นต์ชั่วโมง - ------------- ----------------------------------- ------ -------- ---- 9 194.90.190.41 omgilibot / 0.3 ++ omgili.com 30634860 1549 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 29070370 1503
ความนิยมสูงสุดต่อชั่วโมงโดย 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
ผู้ใช้ - เอเจนต์ hr ของผู้ใช้ยอดฮิตของผู้ใช้โทบี้ - ------------- ----------------------------------- ------ ---- -------- 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 1503 29070370 12 66.249.68.47 Mozilla / 5.0 + (ใช้งานร่วมกันได้; + Googlebot / 2.1 1363 13186302
แน่นอน {filename} จะเป็นพา ธ ไปยังไฟล์บันทึก IIS เช่น
c:\working\sologs\u_ex090708.log
ฉันทำการค้นหาเว็บเป็นจำนวนมากเพื่อค้นหาข้อความค้นหา IIS LogParser ที่ดีและพบว่ามีค่าเล็กน้อย 5 สิ่งเหล่านี้ได้ช่วยเราอย่างมากในการระบุลูกค้าที่มีปัญหาร้ายแรง แต่ฉันสงสัยว่า - เราขาดอะไรไป
มีวิธีอื่นใดอีกในการแบ่งและหั่นบันทึก IIS (โดยเฉพาะอย่างยิ่งกับแบบสอบถาม LogParser ) เพื่อขุดหาความผิดปกติทางสถิติ คุณมีการสืบค้น IIS LogParser ที่ดีที่คุณรันบนเซิร์ฟเวอร์ของคุณหรือไม่?