Log Parser
Log Parser 是一種輕巧好用的公用程式,名符其實,它可以快速簡單地剖析純文字記錄檔。而且 Log Parser 也可以用來快速簡單地剖析事件記錄、檔案系統、登錄,甚至是 Active Directory。
像是對IIS的log file進行類似SQL語法的分析查詢,將結果顯示於螢幕、檔案或SQL數據庫內。
Log Parser本身是個命令字元工具(command-line tool),使用時必須先進入命令提示字元,並切換至Log Parser的安裝目錄,然後輸入LogParser指令即可使用。
LogParser -h GRAMMAR : SQL Language Grammar 查詢語言的語法
LogParser -h FUNCTIONS [ ] : Functions Syntax 函數語法
LogParser -h EXAMPLES : Example queries and commands 範例
輸出入格式
-i: : one of IISW3C, NCSA, IIS, IISODBC, BIN, IISMSID, HTTPERR, URLSCAN, CSV, TSV, W3C, XML, EVT, ETW, NETMON, REG, ADS, TEXTLINE, TEXTWORD, FS, COM (if omitted, will guess from the FROM clause)
-o: : one of CSV, TSV, XML, DATAGRID, CHART, SYSLOG, NEUROVIEW, NAT, W3C, IIS, SQL, TPL, NULL (if omitted, will guess from the INTO clause)
示範:
1. 2006/4/10當日IIS網站一天的擊點率(Hit Rate)
logparser “select count(*) from ex.log”
2. 以圖形化資料網格方式輸出
logparser “SELECT count(*) as [HitRate] INTO datagird FROM ex060410.log”
或是在INTO後面改為其它檔案格式:your_output_name.csv, Report.xml, MyChart.gif
LogParser “SELECT TOP 20 cs-uri-stem, COUNT(*) AS Hits INTO MyChart.gif FROM ex060410.log GROUP BY cs-uri-stem ORDER BY Hits DESC” -chartType:Column3D -groupSize:1024×768
3. 統計每一網頁資源的擊點率
logparser “SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem”
4. 輸出至Html
logparser “SELECT cs-uri-stem as [Web Page], count(*) as [HitRate] INTO datagird FROM ex.log group by cs-uri-stem order by count(*) desc” -o:TPL -tep:HTML_temp.txt
5. 查看登錄器並輸出至SQL Server存成資料表
LogParser “SELECT * INTO MyTable FROM \HKLM” -i:REG -o:SQL -server:MyServer -database:MyDatabase -driver:”SQL Server” -username:TestSQLUser -password:TestSQLPassword -createTable:ON
6. 搜尋電腦中前10大檔案
LogParser “SELECT TOP 10 * FROM C:\*.* ORDER BY Size DESC” -i:FS
7. 將指令列執行結果分析再輸出,例分析netstat結果
netstat | LogParser “SELECT * FROM STDIN” -i:TSV -iSeparator:space -nSep:2 -fixedSep:off -nSkipLines:3
備註:
IIS 記錄檔預設位置C:\WINDOWS\system32\LogFiles\W3SVC1\exyymmdd.log,可由「網際網路資訊服務(IIS) 管理員」/網站/預設的網站/右鍵「內容」/「網站」Tab/「啟用記錄」的「內容」來設定。
「一般」Tab可設定儲存Log的位置及排程。
「進階」Tab可設定記錄的資訊選項,例:用戶端IP位址(c-ip)、傳送方法(cs-method) 、URI主體(cs-uri-stem) 、URI查詢(cs-uri-query)、通訊協定狀態(sc-status)、花費時間(time-taken)。
參考:
* Windows 2003 Server 電子雜誌 2005年10月份
* 如果您還不熟悉 Log Parser 2.2,請您參閱《指令碼的物語》(英文) 專欄-Tales from the Script
* Microsoft TechNet Log Parser 2.2
* 尋找免費的 Log Analyser 工具?Internet Information Services (IIS) 6.0 Resource Kit Tools
應用範例:
* LogParser -h EXAMPLES 裡面有很多呦!
* 嗨,Scripting Guy!我要如何找出電腦中前 20 大的檔案呢?