三年半前我曾經介紹過一個 Log Parser 分析工具,透過這套工具可以分析各式各樣的紀錄來源,分析的資料來源可以是 IIS Logs、檔案與目錄資訊、Windows 事件紀錄、Windows 機碼、Active Directory 物件、ETW traces、還能分析 NetMon .cap 擷取資料。但 Log Parser 眾所皆知的問題就是缺乏 GUI 操作介面,也因此我之前也介紹過另一套 Visual Log Parser 視覺化查詢工具,但此工具已經年久失修,在實務上並不夠好用。今天要介紹的是由 Lizard Labs 所研發出來的 Log Parser Lizard GUI 工具,他在工具中結合常用的查詢語法更能適用於實務上快速查詢的需求,實在是個不得不介紹的好工具。
要安裝 Log Parser Lizard GUI 必須要額外安裝 Log Parser 與 .NET Framework 3.5 才能執行,這也代表著 Log Parser Lizard GUI 工具僅提供一個 GUI 的前端 (如下圖示),骨子裡其實還是用 Log Parser 進行查詢與分析的任務。
Log Parser Lizard GUI 功能非常多,許多功能看圖說故事應該就能學會,上手並不難,所以本文將會介紹幾點我認為值得提醒的好用功能。
1. Query Set ( 查詢集合 )
從上圖左側,你可以發現這裡包含著各種不同資料來源群組,群組裡還有許多內建的查詢語法,而所有這些群組與查詢語法的集合就被稱為 Query Set ( 查詢集合 ),這個集合最終會儲存在一個 XML 檔案裡, 系統預設的集合檔放在 C:\Program Files\LizardLabs\Log Parser Lizard\Queries.xml,你可以直接使用這個預設的查詢集合,但如果你的查詢於法過多的話也可以考慮將查詢集合區分成多個檔案,你可以從 Log Parser Lizard 的主功能表就能進行相關設定。
從上圖你也可以發現我用紅線框起來的地方,這個查詢集合甚至可以直接從 SQL Server 資料庫中讀取,這功能非常適合用在大量佈署 Log Parser Lizard GUI 的機房環境。如果要啟用此功能,可以在 Settings 對話框設定好 Connection string 並在資料庫中建立好對應的預設表格即可。
如上圖示也有個 Copy database creationi script to the clipboard 按鈕,按下去之後會把建立資料表的 DDL 複製到剪貼簿,好讓你在 Management Studio 中直接貼上並自動建立資料庫與相關表格。
在查詢集合裡,你用滑鼠單擊就能開啟其查詢語法,按下 Run Query 按鈕或按下鍵盤 F5 功能鍵即可立即執行,如果語法不符需求,還可以自行修改後儲存,也能儲存或另存新檔供後續查詢之用。
2. Manage Constants & Code Snippets
在 Home 功能表裡有個 Manage Constants 與 Code Snippets 按鈕,也是非常方便實用的功能:
Manage Constants 此功能主要用來定義一些在查詢中會用到的常數(Constants),如下圖示,我開啟 Active Directory 群組裡的其中一個查詢,但查詢中會看到一個 #ADLDAP# 常數,我第一次開啟 Log Parser Lizard GUI 的時候就看不懂這是甚麼,因為這並不是 Log Parser 內建的語法。
要對這個常數進行修改,就必須點選 Home 功能表裡的 Manage Constants 按鈕,開啟後你會看到以下畫面,並對其常數值進行修改,以符合你目前執行查詢時的操作環境:
有別於 Query Set 這裡都是儲存完整且可立即查詢的語法,Code Snippets 則是儲存一些常用的查詢片段,像我之前寫過的文章【LogParser 日期相關心得筆記與分析 IIS Logs 技巧分享】就寫了不少與日期相關的語法,這些查詢語法若能整理到 Code Snippets 裡,將可有效提升 Log Parser Query 的撰寫效率,以下是在查詢編輯視窗中插入 Code Snippets 的圖示。
3. Chart ( 圖表功能 )
Log Parser 原本就有內建輸出圖表功能,不過必須安裝 Office Web Components 才能用,如果資料量一大,每次產生圖表都要跑上好幾分鐘,使用上並不方便。有了 Log Parser Lizard GUI 的幫助,圖表功能變得非常直覺又好用,只要查詢結果產生後,直接按下 Display Chart 立刻就會產生圖表,而且查詢不需要重跑一遍,除此之外還能快速切換不同的圖表類型 (Chart Type),切換的速度也非常快!
4. 支援 Facebook Query Language (FQL) 查詢
Facebook Query Language (FQL) 是 Facebook 專屬的查詢語法,類似 T-SQL 語法,可用來查詢你在 Facebook 上所留下的許多資料,如果你想知道你在玩 Facebook 遊戲時,那些遊戲的廠商可以得到你多少隱私資料的話,你可以透過 Log Parser Lizard GUI 來玩玩看 FQL,查詢一下那些透過 API 能取得的資料。
要使用這個功能,你必須先申請 Facebook API Key 才行,申請步驟可以參考 申請 Facebook API 金鑰和設定 的文章說明,申請到之後便可在 https://developers.facebook.com/apps 查到你的 API Key:
然後再到 Log Parser Lizard GUI 新增一個預設的 Facebook FQL 查詢:
接著設定查詢屬性 (Query Properties),並輸入你的 FB API Key
在此要輸入到視窗上的 ApplicationId 欄位:
再來就可以直接執行 FQL 查詢!只是第一次執行的時候,他會先要求你登入 Facebook,並請你提供授權,這畫面就跟你在玩 Facebook 遊戲時一樣,然後資料就會回傳回來了。
相關連結