系統運維,少不了分析系統日誌,微軟有個工具log parser可以幫助你分析日誌。它功能強大,使用簡單,可以分析基於文字的日誌檔案、xml 檔案、csv(逗號分隔符)檔案,以及作業系統的事件日誌、登錄檔、檔案系統、active directory。它可以像使用 sql 語句一樣查詢分析這些資料,甚至可以把分析結果以各種圖表的形式展現出來。
log parser可以到微軟的**
,安裝完後,就會有命令列的執行程式logparser.exe,供api使用的logparser.dll及說明檔案logparser.chm,裡面還會有一些sample code可以供參考.
log parser支援的格式很多,輸入格式如下:
輸出格式如下:
現在要玩的是,怎麼用logparser.dll來開發更適合的api,其實命令列的做法就可以滿足大部份的需求,但有時有時特殊的判斷,在命令列模式下就有難度了,比如說,我們需要用程式自動去處理大批量的日誌檔案分析等,所以這時用api就方便很多.
下面我們用.net封裝下logparser的com介面,從logparser的操作流程來看,無非就是不同格式檔案的日誌檔案的輸入,通過類sql的分析輸出我們需要的結果,核心演算法就是類似於
// 初始化logquery 物件
var logquery = new logqueryclass();
// 快取輸入上下文
if (myinputcontext == null)
myinputcontext = getinputcontext();
// 執行查詢
var orecordset = logquery.execute(query, myinputcontext);
// 瀏覽記錄
每一種型別的日誌的分析主要是格式的不同,通過乙個配置類去記錄每種型別的不同配置,根據配置去生成相應的輸入、輸出格式類。下面我們就來做個簡單的demo來演示下iis日誌分析。
void qrydata()
{//構造查詢語句
stringbuilder query = new stringbuilder("select ");
if (txtrecord.text.trim().length > 0)
{int rec = 0;
if (int.tryparse(txtrecord.text.trim(), out rec))
{if (rec > 0)
{//如果有值,而且數字大於0,則取數字取得top n
這段code就是把log讀進來,並用datagrid去顯示,如果iis log裡的時間不是當地時間,還可用to_localtime做時間轉換,看這script,還可以用 select top n from 檔案路徑,這裡有一點要注意,路徑不能有中文名稱,query有那些可以用,可以參考說明檔案的query syntax章節.
注意:logparser.dll是需要註冊的,如果沒有註冊,是會丟擲錯誤資訊,註冊的方式很簡單,也就是註冊com元件,在命令列模式下 : c:\logparser>regsvr32 logparser.dll
乙個強大的logparser的ui工具--logparserlizard簡介
使用logparser做 房途網日誌(nginx)分析
log parser (分析多種 log 格式的超強工具)
使用 log parser 將 iis log 轉入 sql 2005 express
examples (sql) queries for iis analysis
用logparser對iis 日誌進行分析
log parser: 功能強大且威名遠播的記錄分析器
使用Log Parser分析日誌
我們可以對windows日誌進行分析 比如我們分析域控日誌的時候,想要查詢賬戶登陸過程中,使用者正確,密碼錯誤的情況,我們需要統計出源ip,時間,使用者名稱時,我們可以這麼寫 select timegenerated,extract token strings,0,as username,extra...
log parser分析windows日誌
首先將windows安全日誌匯出,步驟如下 執行eventvwr.msc命令,開啟windows日誌,如下圖,將所有事件另存為 儲存完之後是乙個.evtx格式的檔案,將使用log parser分析這個匯出的日誌 分析命令如下 logparser.exe i evt select timegenera...
Log parser工具使用
windows日誌存放於目錄 c windows system32 winevt logs 中,分別對應系統日誌 安裝日誌 應用程式日誌和安全日誌 雙擊開啟,預設在事件檢視器中檢視 任務類別 關鍵字eventid 登入審核成功 登入審核失敗 登出審核成功 特殊登入 審核成功 憑據驗證 審核成功 o ...