1. 程式人生 > >一個強大的LogParser的UI工具--日誌分析工具

一個強大的LogParser的UI工具--日誌分析工具

404,500致命的漏洞,如何一一清晰去除。

最近開發微軟 MSN的專案。深感對方對這些錯誤嚴格處理的態度

404,500 錯誤危害:
一個網站如果存在大量的錯誤網頁,不但會損傷網站的整體形象,而且會影響搜尋引擎蜘蛛的爬取即通過連結來爬行搜尋你的網站。若存在太多連結無法連結,網站收錄的頁面會大大降低,進而影響網站在搜尋引擎中的權重降低。另一方面站在瀏覽者的角度看,若存在太多的錯誤連結,大部分的瀏覽者都會選擇關閉網站,去尋找其他的網站。
宜昌seo認為作為搜尋引擎優化人員一定要注意這些問題,做網站優化要在使用者體驗的角度考慮問題,尤其是一個具有權威性的網站,一定要將這種低階錯誤降到最低以致達到沒有

 從來沒有這麼仔細的觀看IIS log。今天就好好的研究一番。

Log Parser,輕量級的Sql工具似的,很強大。很實用的。

希望與有這方面經驗和困惑的朋友,一起分享

C:\Program Files\Log Parser 2.2>LogParser "select top 5 cs-uri-stem,cs-uri-query
,sc-status,date,time  from C:\inetpub\logs\LogFiles\W3SVC1\u_ex111013.log where
sc-status not in (200)" >1.txt

//可以這樣,批量搜尋

from ....*.log 

Win 7 IIS Log 位置 C:\inetpub\logs\LogFiles\W3SVC1

如何知道網站的 W3SVC 的代號呢

網站--屬性,高階裡面有 ID號 ,那就是了。

select cs-uri-stem,cs-uri-query ,sc-status,date,time  from C:\inetpub\logs\LogFiles\W3SVC1\u_ex*.log where sc-status <> 200 and sc-status <> 304 and sc-status <> 301

日誌分析,特別是IIS日誌,一般人都會想到LogParser工具,的確很強。但是命令列的操作介面令很多非專業的管理人員望而生畏,現在好了,有一個視覺化的LogParser的UI工具可以使用了!

Log Parser Lizard 1.1,這是一款用Vc++.net寫的logParser增強工具。主要有以下特點:
1、封裝了logParser命令,帶圖形介面,大大降低了LogParser的使用難度。
2、集成了幾個開源工具,如log4net等。可以對IIS logs\EventLogs\active directory\log4net\File Systems\T-SQL進行方便的查詢。
3、集成了Infragistics.UltraChart.Core.v4.3、Infragistics.Excel.v4.3.dll等,使查詢結果可以方便的以圖表或EXCEL格式展示。
4、集成了常見的查詢命令,範圍包含六大模組:IIS
5、可以將查詢過的命令儲存下來,方便再次使用。

最重要的是,它是完全免費的。
下載地址為:
http://www.brothersoft.com/log-parser-lizard-download-238815.html


需要先安裝LogParser 2.2,下載地址:
http://www.microsoft.com/DownLoads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en

下載後4.9M的一個MSI檔案,直接安裝即可。注意安裝位置儘量不要帶空格。

注意:如果LogParser沒有安裝,會執行出錯!



初始介面如圖:





下面以一個檢查IISLog的例子來比較LogParser與LogParserLizard的區別。
某日早上,發現網站阻塞,

第一種速查方案:
迅速啟動LogParser:
進入命令列模式:
輸入:
LOGPARSER -i:IISW3C file:D:\Log\log_SQL\Slowest20FilesInIIS_MySite.sql -o:DataGrid -q:off 其中,Slowest20FilesInIIS_MySite.sql的內容如下:

--rem 執行最慢的20個頁面
--
Finding the 20 slowest pages in your Web siteSelectTop20
     LogRow 
as[Line Number],
     date 
as[Date],
     time 
as[Time],
     c
-ip as[Client-IP],
     s
-ip as[Server IP]
     s
-port as[Server Port],
     cs
-method as[Request Verb],
     cs
-uri-stem as[Request URI],
     sc
-bytes as[Bytes sent],
     sc
-status as[Status],
     sc
-substatus as[Sub-status],
     sc
-win32-status as[Win 32 Status],
     time
-taken as[Time Taken]From 
     D:\
Log\log_SQL\LogFiles\ex*.logOrderby time-taken desc
執行結果如圖:


從圖中可以看出,訪問最慢而且最頻繁的頁面是/Company/List.aspx, 而且集中在一個IP: 116.7.16.249 ,基本可以肯定主·這是有人惡意爬資料
,再輸入:
LOGPARSER -i:IISW3C file:D:\Log\log_SQL\Slowest10IPInIIS_MySite.sql -o:DataGrid -q:off 其中,Slowest10IPInIIS_MySite.sql的內容如下:

--rem 訪問量最大的IP的訪問明細Select cs-uri-stem as[RequestURI],count(cs-uri-stem) as VisitCounts,c-ip as[ClientIP]FROM 
D:
Log\log_SQL\LogFiles\ex090829.loggroupby cs-uri-stem,c-ip 
ORDERBY VisitCounts DESC


啟動管理工具,禁IP!!!

第二種速查方案:
啟動logParserLizard,在介面中選擇IIS Log--"New Query"--格式選"IIS W3C Logs"
在查詢視窗輸入同樣的SQL,點選"Generate"

--rem 執行最慢的20個頁面
--
Finding the 20 slowest pages in your Web siteSelectTop20
     LogRow 
as[Line Number],
     date 
as[Date],
     time 
as[Time],
     c
-ip as[Client-IP],
     s
-ip as[Server IP]
     s
-port as[Server Port],
     cs
-method as[Request Verb],
     cs
-uri-stem as[Request URI],
     sc
-bytes as[Bytes sent],
     sc
-status as[Status],
     sc
-substatus as[Sub-status],
     sc
-win32-status as[Win 32 Status],
     time
-taken as[Time Taken]From 
     D:\
Log\log_SQL\LogFiles\ex*.logOrderby time-taken desc ,得到如下結果:

再在查詢視窗輸入

--rem 訪問量最大的10個IP
--
Finding the 10 most ClietnIPs in your Web site
SelectTop10    
c
-ip as[MostIP],    
COUNT(*AS VisitCounts
FROM 
D:\
Log\log_SQL\LogFiles\ex090829.log
Groupby c-ip ORDERBY VisitCounts DESC
得到下圖:



且慢,右上角,Chart,開啟一看,好多的餅圖喲,



處理方法同上
為了下次方便使用,將該query儲存即可。
此外 使用者除了前面的六大型別查詢外,還可以自增加新的Group,把自己常用的查詢整理一下。