Windows事件追蹤入門(mén)與使用方式是什么

這篇文章給大家介紹Windows事件追蹤入門(mén)與使用方式是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

成都創(chuàng)新互聯(lián)專(zhuān)注于中方企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。中方網(wǎng)站建設(shè)公司,為中方等地區(qū)提供建站服務(wù)。全流程按需制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

雖然大多數(shù)Windows開(kāi)發(fā)者都知道Windows事件追蹤(Event Tracing for Windows,ETW)是一個(gè)日志記錄和事件追蹤工具,但是許多管理員卻從沒(méi)聽(tīng)說(shuō)過(guò)它,只是簡(jiǎn)單地認(rèn)為ETW不過(guò)是操作系統(tǒng)提供的事件日志記錄與追蹤功能的一部分。ETW在內(nèi)核中運(yùn)行,可以追蹤用戶(hù)模式應(yīng)用程序、操作系統(tǒng)內(nèi)核和內(nèi)核模式設(shè)備驅(qū)動(dòng)引發(fā)的事件。

一些操作系統(tǒng)核心組件和第三方應(yīng)用程序使用Windows事件追蹤來(lái)提供事件日志記錄和追蹤。雖然在Windows2000中***次發(fā)布時(shí),Windows事件追蹤只有在Windows檢查版本中才能使用,但現(xiàn)在它已經(jīng)是所有Windows版本的內(nèi)置工具。

Windows事件追蹤(ETW)入門(mén)

在Windows服務(wù)器故障診斷和排錯(cuò)方面,一直就沒(méi)有多少信息可以參考。管理員總是竭盡所能四處尋找各種可能的信息來(lái)確定故障。所以就有了諸如進(jìn)程監(jiān)視器、進(jìn)程資源管理器、性能監(jiān)視器(PerfMon)和性能分析日志(PAL)等多種工具來(lái)幫助我們獲取遠(yuǎn)多于事件日志的信息,但不幸的是,有時(shí)候我們還需要更多的信息。

ETW無(wú)需額外的設(shè)備就可以收集足夠的信息,而且有諸多優(yōu)點(diǎn)。例如:

  • 使用非頁(yè)面池的每處理器內(nèi)核緩沖區(qū),這樣不會(huì)受到應(yīng)用程序崩潰和掛起的影響

  • 極低的CPU消耗

  • 適用用于X86、X64和IA64的系統(tǒng)架構(gòu)

  • 無(wú)需重啟應(yīng)用程序就能啟動(dòng)和關(guān)閉追蹤

Windows事件追蹤似乎是個(gè)偉大的工具,但是使用此工具有個(gè)另一個(gè)問(wèn)題,沒(méi)有圖像界面或者用戶(hù)向?qū)?。而且,在輸出可分析的結(jié)果之前,需要做一些初始化工作。

為了輸出有效的結(jié)果,您需要一個(gè)消費(fèi)者(consumer)。在Windows Serer中生成一個(gè)名為T(mén)racerpt.exe的消費(fèi)者。正如您所知道的,Tracerpt命令的特點(diǎn)就是可以提供特定的輸出格式,所以重要的是能熟練掌握Tracerpt和Logman這些工具,它們是Windows 2003 及以后系統(tǒng)的內(nèi)置工具,如Windows 7和Vista。

同樣重要的是理解ETW的架構(gòu)。如圖顯示,控制器用于啟動(dòng)和停止一個(gè)追蹤對(duì)話。在windows Server 2003 和2008中,控制器工具是Logman.exe。

Windows事件追蹤入門(mén)與使用方式是什么
圖1.ETW架構(gòu)

Windows Server 2003還包含返回特定事件的一小部分事件提供者,其中包括下面的這些活動(dòng)目錄相關(guān)的提供者:

  • Active Directory: Core

  • Active Directory: Kerberos

  • Active Directory: SAM

  • Active Directory: NetLogon

例如,指定Active Directory: Kerberos作為提供者只會(huì)返回Kerberos特定事件。

Windows版本不同,事件提供者也有所不同。例如,Windows Server 2003有22個(gè)提供者, Windows 2008有387個(gè)。它提供了更強(qiáng)大的追蹤和更多的追蹤范圍。然而,當(dāng)涉及LDAP流量時(shí),作為提供者的 Active Directory: Core對(duì)于兩個(gè)Windows版本來(lái)說(shuō)基本上是一樣的。

您也能捆綁多個(gè)事件提供者到一個(gè)追蹤中。因?yàn)樯厦胬由咸岬搅薑erberos身份驗(yàn)證,所以我在這里仍然使用Active Directory: Kerberos和Active Directory: Core提供者舉例,同時(shí)使用Logman命令和參數(shù)-PL,如下面的例子所示:
Logman Create Trace CoreKerb –pf c:\etw\input.txt –o c:\etw\coreKerb

參數(shù)-pf 的意思是讀一個(gè)輸入文本文件(如本例中的input.txt)。其格式如圖2所示。

Windows事件追蹤入門(mén)與使用方式是什么
圖2.輸入文本文件格式

我們已經(jīng)認(rèn)識(shí)到了什么是事件追蹤,那么下面我們就來(lái)了解如何使用Windows事件追蹤(ETW)

通過(guò)例子來(lái)介紹ETW是***辦法。最近有位工程師告訴我他需要知道活動(dòng)目錄如何響應(yīng)提交給域控制器的Unix客戶(hù)端身份驗(yàn)證LDAP請(qǐng)求。他使用Unix命令去查看在Unix端綁定請(qǐng)求,也希望在Windows端能有類(lèi)似的輸出結(jié)果,輸出顯示如下:

[23/Sep/2010:15:04:44 +0200] conn=31 fd=65 slot=65 connection from 10.50.20.173 to 10.50.12.119
[23/Sep/2010:15:04:44 +0200] conn=31 op=0 BIND dn="uid=dorsa,ou=people,o=Corp.net" method=128 version=3
[23/Sep/2010:15:04:44 +0200] conn=31 op=0 RESULT err=0 tag=97 nentries=0 etime=0 dn="uid=dorsa,ou=people,o=corp.net"
[23/Sep/2010:15:04:44 +0200] conn=31 op=1 SRCH base="ou=people,o=hp.com" scope=2 filter="(|(uid=dorsa)(cn=mdilln.dodgcty))" attrs=ALL
[23/Sep/2010:15:04:44 +0200] conn=31 op=1 RESULT err=0 tag=101 nentries=2 etime=0
[23/Sep/2010:15:04:44 +0200] conn=31 op=2 UNBIND
[23/Sep/2010:15:04:44 +0200] conn=31 op=2 fd=65 closed - U1
[23/Sep/2010:15:04:44 +0200] conn=29 op=-1 fd=64 closed error 11 (Resource temporarily unavailable) -

為了得到這個(gè)輸出結(jié)果,我打開(kāi)NTDS Diagnostics 注冊(cè)表鍵,它位于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics,同時(shí)把LDAP Interface值設(shè)為5.這僅提供了運(yùn)行的操作時(shí)間,和Unix輸出還沒(méi)有太大關(guān)系,所以我決定試試ETW。因?yàn)槭褂肳indows Server 2003,所以我使用Active Directory: Core提供者,它能提供詳細(xì)的LDAP信息。

以下步驟和命令用于創(chuàng)建一個(gè)ETW追蹤和生成日志。這些命令能為這位Unix工程師保存身份驗(yàn)證過(guò)程中的LDAP數(shù)據(jù)。同時(shí),我在C盤(pán)下創(chuàng)建ETW文件夾來(lái)存儲(chǔ)所有的數(shù)據(jù)。

1.C:>Logman Query Providers--該命令列出所有可用的提供者。注意,我們希望能得到LDAP的信息,所以使用的提供者是Active Directory: Core。

2.Logman create trace “LDAP1” –p “Active Directory: core” –oc:\etw\LDAP1 LDAP1--這是追蹤的名字(可以在追蹤列表里找到它)。

  • -identifies指定Active Directory: Core 作為提供者

  • -o指定輸出文件(后綴名為.etl)路徑C:\etw\ldap1。輸出文件將保存為L(zhǎng)DAP1_000001.etl。請(qǐng)注意,當(dāng)追蹤第二次運(yùn)行時(shí),輸出文件將被命名為L(zhǎng)DAP1_000002.etl,以此類(lèi)推。

3.一旦Logman create trace追蹤命令成功執(zhí)行,您就可以使用命令:C:>Logman Query在命令隊(duì)列中看到此命令。在圖3中, LDAP1追蹤顯示在紅色方框內(nèi)。請(qǐng)注意這些追蹤我已經(jīng)設(shè)置為可以隨時(shí)啟動(dòng)和停止以重復(fù)使用。

Windows事件追蹤入門(mén)與使用方式是什么
圖三. ETW 追蹤

4.啟動(dòng)追蹤命令如下:

Logman Start LDAP1

此時(shí)使用Logman Query將會(huì)顯示LDAP1為正在運(yùn)行

5.然后,我們需要使用復(fù)制操作來(lái)復(fù)制想追蹤的問(wèn)題或事件。在這個(gè)例子中,我執(zhí)行了一個(gè)登錄和運(yùn)行一些LDIFDE命令來(lái)執(zhí)行LDAP搜索。一旦這些命令執(zhí)行完,應(yīng)該盡快啟動(dòng)追蹤這樣可以最小的減少追蹤的誤差和更加容易讀取。

6.接下來(lái),使用命令Logman Stop LDAP1來(lái)停止追蹤

7.在C:\ETW目錄下顯示LDAP1追蹤文件LDAP1_000002.etl已被創(chuàng)建:

C:\ETW>dir ldap1*
Volume in drive C has no label.
Volume Serial Number is 309D-BA04
Directory of C:\ETW
10/13/2010 04:22 PM     1,015 ldap1
10/13/2010 04:20 PM     262,144 LDAP1_000001.etl
01/21/2011 02:12 AM     262,144 LDAP1_000002.etl

8.因?yàn)槭堑诙芜\(yùn)行追蹤,所以文件被命名為000002。

由于后綴名為.etl的日志文件不可讀,我們可以使用Tracerpt命令得到一些有用的數(shù)據(jù)。該命令的例子如下:
TRACERPT LDAP1_000001.etl -o Ldap1.csv

  • -of設(shè)置文件類(lèi)型(默認(rèn)為CSV)(如需更多格式,請(qǐng)查看在線幫助。)

  • -o表示輸出文件名為默認(rèn),其名稱(chēng)為dumpfile.csv和產(chǎn)生最令人感興趣的LDAP活動(dòng)存儲(chǔ)

  • -Summary, -Report表示統(tǒng)計(jì)數(shù)據(jù)(本例子沒(méi)有使用)

使用Excel(或者記事本)打開(kāi)LDAP1.csv文件來(lái)查看數(shù)據(jù)。如圖4顯示, LDAP請(qǐng)求和響應(yīng)被高亮顯示。 正如您看到的,搜索和綁定請(qǐng)求在列A,同時(shí)在列B中,您能看到成對(duì)出現(xiàn)的開(kāi)始和結(jié)束請(qǐng)求。在右邊您還能看到用戶(hù)數(shù)據(jù)和LDAP請(qǐng)求的過(guò)濾和范圍及其他相關(guān)信息。

Windows事件追蹤入門(mén)與使用方式是什么
圖4.LDAP1.csv數(shù)據(jù)

ETW令人興奮的一點(diǎn)就是有數(shù)不盡的提供者。提供者包括組策略、Kerberos、LDAP客戶(hù)端、Netlogon、FSRM、IIS,而在Windows Server 2008中,除了上面提到的之外,還有更多的提供者。

雖然過(guò)去我一直都使用事件日志和類(lèi)似的日志文件,但現(xiàn)在我使用Windows事件追蹤獲得更深層次且詳細(xì)的信息幫我解決我遇到的任何問(wèn)題。非常簡(jiǎn)單的命令用于追蹤和生成報(bào)表。當(dāng)然,您可以通過(guò)網(wǎng)絡(luò)發(fā)現(xiàn)更多的命令項(xiàng)和更詳細(xì)的信息。

關(guān)于Windows事件追蹤入門(mén)與使用方式是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

分享標(biāo)題:Windows事件追蹤入門(mén)與使用方式是什么
URL分享:http://bm7419.com/article18/pcisgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)網(wǎng)站收錄、標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航、品牌網(wǎng)站設(shè)計(jì)外貿(mào)網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)