前言
因應近期工作需求,必須對 IIS Log 與 Window Event 進行解析,了解並評估目前伺服器效能與問題排除。面對複雜與龐大的系統,所產生的 Log 也相當驚人,透過人眼逐一檢視或一般搜尋功能,根本無法快速彙整資料與發現問題。最近開始接觸 Log Parser/Log Parser Studio 這些工具,在使用過程中順便紀錄常用的語法,提供自己未來使用或有興趣的朋友參考。介紹
Log Parser
logparser 是一個非常早期但相當實用命令列執行程式,最早期是由微軟員工Gabriele Giuseppini撰寫。他能夠透過 SQL 指令查詢多種格式日誌,如 xml、csv、Windows 事件紀錄、Windows 檔案系統、IIS 日誌...等,並可以自行定義格式進行輸出資料與圖表,功能強大。目前版本為 2.2 版,您可以在 Log Parser 2.2 下載。
安裝完成後,你可以直接執行 log parser,或者切換目錄到下列資料夾,即可開始透過指令進行查詢工作
安裝完成後,你可以直接執行 log parser,或者切換目錄到下列資料夾,即可開始透過指令進行查詢工作
Log Parser Studio
Log parser 圖形化使用者戶介面 (GUI) 是 Log Parser Studio。您可以透過簡易直覺的操作快速的查詢、測試與取得您要的結果。 您可以在 Log Parser Studio 下載。
常用語法
因為工作需求,需要快速檢視 IIS 狀況,或者建立 Monitor Dashboard 進行觀察,需要透過 log parser 彙整資料,這裡彙整一些常用語法(過去網路上彙整的),提供給有需要的朋友參考:
找出每一個小時 Request 數量
找出每一個小時 Request 數量
SELECT QUANTIZE(TO_LOCALTIME(TO_TIMESTAMP(date, time)), 3600) AS Hour, COUNT(*) AS Hits FROM c:\inetpub\logs\LogFiles\W3SVC1\* WHERE date>'2019-05-01' and date<'2019-05-02' Group By Hour
找出所有 Status 數量
SELECT STRCAT(TO_STRING(sc-status), STRCAT('.', TO_STRING(sc-substatus))) As Status, COUNT(*) AS Hits FROM c:\inetpub\logs\LogFiles\W3SVC1\* GROUP BY Status ORDER BY Status ASC
列出 Win32 status
SELECT sc-win32-status As Win32-Status, WIN32_ERROR_DESCRIPTION(sc-win32-status) as Description, COUNT(*) AS Hits FROM c:\inetpub\logs\LogFiles\W3SVC1\* WHERE Win32-Status<>0 GROUP BY Win32-Status ORDER BY Win32-Status ASC
列出前 30 名 Url 呼叫次數
SELECT TOP 30 cs-uri-stem as Url, COUNT(*) As Hits FROM c:\inetpub\logs\LogFiles\W3SVC1\* GROUP BY cs-uri-stem ORDER By Hits DESC
列出花費時間最久前 30 的項目
SELECT TOP 30 cs-uri-stem as URL, MAX(time-taken) As Max, MIN(time-taken) As Min, Avg(time-taken) As Average FROM c:\inetpub\logs\LogFiles\W3SVC1\* GROUP BY URL ORDER BY Average DESC
參考資料
1. Log Parser - Wiki2. Analyze your IIS Log Files – Favorite Log Parser Queries - MSDN
4 留言
列出花費時間最久前 30 的項目
回覆刪除跟找出所有Status重疊瞜
SELECT top 30 TO_LOWERCASE(cs-uri-stem) AS URL, time-taken
FROM '[LOGFILEPATH]'
order by time-taken desc
感謝提醒,貼程式碼的時候沒注意,已經修正 :)
刪除你好,想請問一下Log Parser Studio安裝檔還在嗎?
回覆刪除我依照你下載網址連結,已經變成「瀏覽程式碼範例」,而且怎麼搜尋都無法找到Log Parser Studio的載點。
看來官方已經移除,我這邊留下之前使用的版本提供參考:https://dog0416.blogspot.com/2021/03/log-parser-studio.html
刪除