Khi Stack Overflow phát triển, chúng tôi bắt đầu xem xét kỹ các bản ghi IIS của chúng tôi để xác định các máy khách HTTP có vấn đề - những thứ như trình thu thập dữ liệu web lừa đảo , những người dùng có một trang lớn được thiết lập để làm mới mỗi giây, các công cụ xóa web một lần được viết kém người dùng cố gắng tăng trang đếm hàng triệu lần, v.v.
Tôi đã đưa ra một vài truy vấn LogParser giúp chúng tôi xác định hầu hết các điểm kỳ lạ và bất thường khi chỉ vào tệp nhật ký IIS.
Sử dụng băng thông hàng đầu theo 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 lượt truy cập avgbyte được phục vụ ------------------------------------------------- - ---- ------- ------- /favicon.ico 16774 522 8756028 /content/img/search.png 15342 446 6842532
Lượt truy cập hàng đầu theo 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
lượt truy cập url ------------------------------------------------- - ---- /content/img/sf/vote-arrow-down.png 14076 /content/img/sf/vote-arrow-up.png 14018
Băng thông hàng đầu và lượt truy cập của IP / Tác nhân người dùng
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
lượt truy cập totbyte của tác nhân người dùng ------------- ------------------------------------- -------- --------- ----- 66.249,68,47 Mozilla / 5.0 + (tương thích; + Googlebot / 2.1; 135131089 16640 194.90.190.41 omgilibot / 0.3 ++ omgili.com 133805857 6447
Băng thông hàng đầu theo giờ theo IP / Tác nhân người dùng
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 lượt truy cập totbyte tác nhân người dùng khách hàng - ------------- ----------------------------------- ------ -------- ---- 9 194.90.190.41 omgilibot / 0.3 ++ omgili.com 30634860 1549 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 29070370 1503
Lượt truy cập hàng đầu theo giờ theo IP / Tác nhân người dùng
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 tác nhân người dùng khách truy cập totbyte - ------------- ----------------------------------- ------ ---- -------- 10 194.90.190.41 omgilibot / 0.3 ++ omgili.com 1503 29070370 12 66.249.68.47 Mozilla / 5.0 + (tương thích; + Googlebot / 2.1 1363 13186302
Tất nhiên {tên tệp} sẽ là đường dẫn đến tệp logfile IIS, chẳng hạn như
c:\working\sologs\u_ex090708.log
Tôi đã thực hiện rất nhiều tìm kiếm trên web cho các truy vấn IIS LogParser tốt và tìm thấy rất ít. 5, ở trên, đã giúp chúng tôi rất nhiều trong việc xác định các khách hàng có vấn đề nghiêm trọng. Nhưng tôi đang tự hỏi - chúng ta đang thiếu gì?
Có những cách nào khác để cắt và xé các bản ghi IIS (tốt nhất là với các truy vấn LogParser ) để khai thác chúng cho các bất thường thống kê? Bạn có bất kỳ truy vấn IIS LogParser tốt nào bạn chạy trên máy chủ của mình không?