簡介:Log Parser Studio
英文原文已於 2012 年 3 月 8 日星期四發佈
常用 Log Parser 2.2 的人都知道,它從 IIS (網際網路資訊伺服器) 及其他記錄中擷取重要資訊的功能有多強大,多麼方便。有了 SQL 的加持,更讓它得以對好幾 GB 大的記錄檔進行詳盡搜尋,只傳回需要的資料,過濾掉不相干的內容。唯一的缺憾就是少了一個好用的圖形化使用者介面 (GUI) 做為 Log Parser 的前端,以及一個「查詢文件庫」以便管理長時間使用下來累積的好用查詢與指令碼。
Log Parser Studio 便是為了滿足這些需求而生的;有了它以後,原本使用 Log Parser 2.2 的人 (和甚至原本因為沒有介面而沒用的人) 都能更快且更有效率地取得他們需要的資料,而不必花費太多時間弄一大堆指令碼,或是翻閱資料夾裡密密麻麻的查詢項目。
有了 Log Parser Studio (簡稱 LPS),我們可以將所有的查詢都集中存放在同一個位置。我們可以在 [查詢編輯器] 中編輯與建立新查詢,並儲存它們以備日後所需、可以用任意的文字搜尋查詢項目、將文件庫和查詢項目以不同格式匯入及匯出,以易於共同作業,還可以為不同的通訊協定個別儲存多種類型的文件庫。
處理 Exchange 通訊協定的記錄
我們都很清楚:要處理不同 Exchange 通訊協定的記錄是一項十分耗時的工作。少了個特殊用途的工具,假如輸出格式很重要的話,Exchange 管理員必須一一區分過濾所有記錄,再用 Log Parser (或其他工具) 處理它們,過程十分麻煩。您還得具備撰寫 SQL 查詢的能力。您也可以上網尋找特殊用途的指令碼,再分析輸出結果,試著看懂那些冗長的記錄。Log Parser Studio 的設計,主要便是為了快速且輕鬆地處理 Exchange 通訊協定各種不同的記錄。一旦啟動它之後,就會注意到每種不同的 Exchange 通訊協定都有個別的索引標籤,例如 Microsoft Exchange ActiveSync (MAS)、Exchange Web 服務 (EWS)、Outlook Web App (OWA/HTTP) 及其他等等。在這些索引標籤之下還有數十筆為特殊用途寫好的現成 SQL 查詢 (每筆查詢的描述和細目也可在主 UI 上找到),只要按一下就可以執行!
現在就讓我們來看看 Log Parser Studio 的一些酷炫功能特色…
查詢文件庫與管理
啟動 LPS 之後,您最先會看到的就是裝滿了查詢的「查詢文件庫」。這就是我們用以管理所有查詢之處。任何時候只要按一下 [Library] (文件庫) 索引標籤,即可開啟文件庫。載入查詢以供檢閱或執行有幾種方法。最簡單的一種就是直接從清單中選取查詢然後按兩下,查詢便會自動開啟在其 [Query] (查詢) 索引標籤 中。「查詢文件庫」就是查詢的主基地。所有受 LPS 管理的查詢都存放在這個文件庫內,而且有許多簡易控制項可讓您快速找到想要的查詢,並將其標記為最愛項目,以便日後快速存取。
文件庫復原
LPS 原廠隨附的初始文件庫內嵌於應用程式中,在安裝時會自動建立。若不慎刪除、損壞或遺失該文件庫,都可以使用文件庫復原功能 ([Options] (選項) | [Recover Library] (復原文件庫)) 輕鬆回復為原始狀態。在復原文件庫時,所有現存的查詢皆會刪除。若您有希望保留的自訂/修改過的查詢,必須先行匯出,待復原預設查詢集後,可以再將其合併回 LPS。
匯入/匯出
視您需求之不同,整個文件庫或文件庫的一部分,都可利用預設的 LPS XML 格式或 SQL 查詢匯入與匯出。舉例而言,假設您有一個裝滿 Log Parser SQL 查詢的資料夾,您可以將其部分或全部匯入 LPS 的文件庫。一般來說,匯入完成後您唯一要做的事就是進行一些調整。LPS 只需要基底的 SQL 查詢,再將檔案名稱參照換成「[記錄檔路徑]」及/或「[輸出檔路徑]」即可。詳情請見工作內附的 PDF 手冊 (您可從 [LPS] | [Help] (說明) | [Documentation] (文件)進行存取)。
查詢
請記住,查詢結構撰寫的好壞決定了一切。寫得好的查詢會簡潔明確地傳回您需要的資訊,而寫得不好的查詢則會拖慢您的系統,傳回一大堆您不需要的結果,某些情況下還有可能導致應用程式當掉。
建立優良 SQL/Log Parser 查詢的技法不在本文探討的範圍內,但所有 LPS 內建的查詢,都證實可傳回最少的記錄筆數,達到最精確的結果。關鍵就在於知道您要什麼而如何取回最少的列數!
批次工作與多執行緒處理
您會發現一起使用 LPS 和 Log Parser 2.2 會是十分強大的工具。但是如果一次只能執行一項查詢,再等待結果傳回,那麼您完全沒發揮出真正的工作效率。這個 LPS 內含的批次工作和多執行緒處理,就會是您的最佳選擇。
批次工作的意思很簡單,它就是一組預先定義的查詢集合,只要按一個鈕就可以全部執行。您可以從 [Batch Manager] (批次管理員) 移除任一個或全部的查詢,或是加以執行。您也可以按一下 [Batch Manager] (批次管理員) 中的 [Run Multiple Queries] (執行多筆查詢) 按鈕或 [Execute] (執行) 按鈕。執行時,LPS 會批次準備並執行每筆查詢。依預設,各筆查詢一旦準備好,LPS 就會將它們全部傳送到 Log Parser 2.2。屆時就是多執行緒處理大展身手的時刻了。舉個例子,假設我們將 50 筆查詢設成一個批次工作然後執行它,Log Parser 就會有 50 個執行緒於背景處理,而使用者同時又可以進行其他查詢。每項工作結束之後,視查詢類型之不同,結果會傳回框格中或輸出為 CSV。即使在這個時候,您還是可以繼續進行其他查詢、搜尋、修改和執行等作業。每筆查詢完成後,該執行緒便宣告退役,也會釋放其佔用的資源。所有執行緒都會在背景受到非常高效率的管理,即使一次執行多筆查詢也不會發生問題。
那麼如果為了效能或其他原因,我們需要讓批次內的查詢同時執行呢?這項功能在 LPS 內建的選項中就找得到。只要到 [LPS] | [Options] (選項) | [Preferences] (偏好設定) 中核取 [Process Batch Queries in Sequence] (依序處理批次查詢) 核取方塊即可變更。有核取時,在前一筆查詢完成之前,下一筆查詢不會開始執行。這樣的程序會一直持續到最後一筆查詢完成。
自動化
搭配批次工作,自動化作業可讓已排程的批次工作自動執行。例如我們可以建立一個排定時程的工作,讓它自動執行一項選定的批次工作,而那個批次工作又會在另一組自定資料夾上執行。這個流程需要兩個元件:一個資料夾清單檔 (.FLD) 和一個批次清單檔 (.XML)。我們會在 LPS 中預先建立好這些物件。如需做法的詳細資料,請參閱使用手冊。
圖表
許多會傳回資料給 [Result Grid] (結果框格) 的查詢,都可以使用內建的圖表功能繪製成圖表。圖表的基本需求和 Log Parser 2.2 相同。
- 框格中的第一欄可以是任何資料類型 (字串、數字等等)
- 第二欄必須是某類的數字 (整數、倍數、小數),不允許字串
請務必記住上述需求,這樣當您在撰寫自訂查詢時,才會記得第二欄要包含數字。查詢完成之後按一下圖表按鈕,就會產生圖表。對於上述的第二點,即使您忘記了,仍可事後拖曳任何有數字的欄,再將其放入第二欄。當您有多個有數字的欄時,只要拖一個您感興趣的欄到第二欄內,就可以為同一筆資料產生不同的圖表。同上,如需有關圖表功能的詳細資料,請參閱使用手冊。
鍵盤快速鍵/命令
LPS 內建有許多鍵盤快速鍵。使用 LPS 期間只要按一下 [LPS] | [說明] (Help) | [鍵盤快速鍵] (Keyboard Shortcuts),就可以隨時查看清單。目前內含的快速鍵如下:
快速鍵 | 用途 |
---|---|
CTRL+N | 開始新查詢。 |
CTRL+S | 將作用中的查詢存到文件庫或查詢索引標籤,依聚焦於何者而定。 |
CTRL+Q | 開啟文件庫視窗。 |
CTRL+B | 將文件庫中選取的查詢加入批次。 |
ALT+B | 開啟批次管理員。 |
CTRL+B | 將選取的查詢加入批次。 |
CTRL+D | 將目前作用中的查詢複製到新的索引標籤。 |
CTRL+ALT+E | 開啟錯誤記錄 (若有的話)。 |
CTRL+E | 將目前選取的查詢結果匯出到 CSV。 |
ALT+F | 將文件庫中選取的查詢加入最愛清單。 |
CTRL+ALT+L | 在第一個可用的文字編輯器中開啟原始文件庫。 |
CTRL+F5 | 從磁碟重新載入文件庫。 |
F5 | 執行作用中的查詢。 |
F2 | 編輯目前文件庫中所選查詢的名稱/描述。 |
F3 | 顯示 IIS 欄位清單。 |
可支援的輸入與輸出類型
Log Parser 2.2 可查詢多種類型的記錄。由於 LPS 仍在開發中,目前僅可支援最常用的類型。其他的輸入與輸出類型一旦受支援後,即會加入未來發行的版本或更新中。
支援的輸入類型
完全支援 W3SVC/IIS、CSV、HTTP 錯誤,基本支援所有內建 Log Parser 2.2 輸入格式。另外也支援一些自訂的 LPS 格式,例如某些不適用於目前安裝之預設 Log Parser 2.2 的 Microsoft Exchange 特定格式。
支援的輸出類型
目前可支援的輸出檔案類型為 CSV 和 TXT。
Log Parser Studio - 快速入門指南
想跳過所有詳細資料,直接開始執行查詢嗎?看過來…
Log Parser Studio 需要知道的第一件事,是記錄檔位於哪裡,還有您希望所有要將其結果匯出成 CSV 檔的查詢之預設位置為何。
1. 設定預設的 CSV 輸出路徑:
a. 前往 [LPS] | [Options] (選項) | [Preferences] (偏好設定) | [Default Output Path] (預設輸出路徑)。
b. 瀏覽至您想用以存放輸出結果的資料夾,並加以選取。
c. 按一下 [Apply] (套用)。
d. 任何要匯出 CSV 檔的查詢,都會儲存到此資料夾。
附註 :若您開始前忘了設定這個路徑,CSV 檔預設會儲存到 %AppData%\Microsoft\Log Parser Studio,但我們建議您將它移到其他位置。
2. 開啟 [Log File Manager] (記錄檔管理員),告訴 LPS 記錄檔位在哪裡。若在這一步完成前嘗試執行查詢,LPS 會提示並要求您設定記錄路徑。按下提示上的 [OK] (確定) 後,便會出現 [Log File Manager] (記錄檔管理員)。按一下 [Add Folder] (新增資料夾) 新增資料夾,或按一下 [Add File] (新增檔案) 新增單一或多個檔案。新增資料夾時您仍然必須選取至少一個檔案,這樣 LPS 才會知道您在做的是什麼樣類型的記錄。選好後,LPS 便會自動將其轉換成萬用字元 (*.xxx),代表會搜尋資料夾中所有符合的記錄。
若要識別目前正在搜尋的資料夾或檔案十分簡單,只要查看 Log Parser Studio 右下角的狀態列即可。若要查看完整路徑,請將您的滑鼠遊標移到狀態列上方。
附註 :LPS 和 Log Parser 能處理多種類型的可查詢記錄與物件。請務必記得您所查詢的記錄類型必須和您所進行的查詢一致。換句話說,執行一項預期會傳回 IIS 記錄的查詢時,檔案總管中只能選取 IIS 記錄,否則 (這點很容易忘記) 在執行查詢時,將會造成錯誤或傳回非預期的行為。
3. 從文件庫選擇一項查詢,然後加以執行:
a. 若 [Library] (文件庫) 索引標籤尚未選取,請按一下該索引標籤。
b. 在清單中選擇一項查詢然後在該查詢上按兩下。查詢將會在獨立的索引標籤中開啟。
c. 按一下 [Run Single Query] (執行單一查詢) 按鈕,執行查詢。
查詢會於幕後開始執行。查詢完成之後,會有兩個可能的輸出目標:輸出到查詢索引標籤上半部的結果框格中,或輸出到 CSV 檔。某些查詢會傳回至框格,而其他佔用較多記憶體的查詢則建議存到 CSV。
一般來說,會傳回非常大型結果集的規則查詢最好儲存到 CSV 檔,以供 Excel 進一步處理。取得結果之後,可配合許多功能加以運用。如需詳細資料,請參閱使用手冊。
盡情享用 Log Parser Studio 吧!永遠別忘了, 先找找看現成的查詢!
Kary Wall
升級工程師
Microsoft Exchange 支援部門
這是翻譯後的部落格文章。英文原文請參閱 Introducing: Log Parser Studio