成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows事件追蹤入門與使用方式

系統 Windows
雖然大多數Windows開發者都知道Windows事件追蹤(Event Tracing for Windows,ETW)是一個日志記錄和事件追蹤工具,但是許多管理員卻從沒聽說過它,只是簡單地認為ETW不過是操作系統提供的事件日志記錄與追蹤功能的一部分。ETW在內核中運行,可以追蹤用戶模式應用程序、操作系統內核和內核模式設備驅動引發的事件。

雖然大多數Windows開發者都知道Windows事件追蹤(Event Tracing for Windows,ETW)是一個日志記錄和事件追蹤工具,但是許多管理員卻從沒聽說過它,只是簡單地認為ETW不過是操作系統提供的事件日志記錄與追蹤功能的一部分。ETW在內核中運行,可以追蹤用戶模式應用程序、操作系統內核和內核模式設備驅動引發的事件。

一些操作系統核心組件和第三方應用程序使用Windows事件追蹤來提供事件日志記錄和追蹤。雖然在Windows2000中***次發布時,Windows事件追蹤只有在Windows檢查版本中才能使用,但現在它已經是所有Windows版本的內置工具。

Windows事件追蹤(ETW)入門

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

ETW無需額外的設備就可以收集足夠的信息,而且有諸多優點。例如:

  • 使用非頁面池的每處理器內核緩沖區,這樣不會受到應用程序崩潰和掛起的影響
  • 極低的CPU消耗
  • 適用用于X86、X64和IA64的系統架構
  • 無需重啟應用程序就能啟動和關閉追蹤

Windows事件追蹤似乎是個偉大的工具,但是使用此工具有個另一個問題,沒有圖像界面或者用戶向導。而且,在輸出可分析的結果之前,需要做一些初始化工作。

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

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

Windows事件追蹤,ETW
圖1.ETW架構

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

  • Active Directory: Core
  • Active Directory: Kerberos
  • Active Directory: SAM
  • Active Directory: NetLogon

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

Windows版本不同,事件提供者也有所不同。例如,Windows Server 2003有22個提供者, Windows 2008有387個。它提供了更強大的追蹤和更多的追蹤范圍。然而,當涉及LDAP流量時,作為提供者的 Active Directory: Core對于兩個Windows版本來說基本上是一樣的。

您也能捆綁多個事件提供者到一個追蹤中。因為上面例子上提到了Kerberos身份驗證,所以我在這里仍然使用Active Directory: Kerberos和Active Directory: Core提供者舉例,同時使用Logman命令和參數-PL,如下面的例子所示:
Logman Create Trace CoreKerb –pf c:\etw\input.txt –o c:\etw\coreKerb

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

Windows事件追蹤,ETW
圖2.輸入文本文件格式#p#

我們已經認識到了什么是事件追蹤,那么下面我們就來了解如何使用Windows事件追蹤(ETW)

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

[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) -

為了得到這個輸出結果,我打開NTDS Diagnostics 注冊表鍵,它位于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Diagnostics,同時把LDAP Interface值設為5.這僅提供了運行的操作時間,和Unix輸出還沒有太大關系,所以我決定試試ETW。因為使用Windows Server 2003,所以我使用Active Directory: Core提供者,它能提供詳細的LDAP信息。

以下步驟和命令用于創建一個ETW追蹤和生成日志。這些命令能為這位Unix工程師保存身份驗證過程中的LDAP數據。同時,我在C盤下創建ETW文件夾來存儲所有的數據。

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

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

  • -identifies指定Active Directory: Core 作為提供者
  • -o指定輸出文件(后綴名為.etl)路徑C:\etw\ldap1。輸出文件將保存為LDAP1_000001.etl。請注意,當追蹤第二次運行時,輸出文件將被命名為LDAP1_000002.etl,以此類推。

3.一旦Logman create trace追蹤命令成功執行,您就可以使用命令:C:>Logman Query在命令隊列中看到此命令。在圖3中, LDAP1追蹤顯示在紅色方框內。請注意這些追蹤我已經設置為可以隨時啟動和停止以重復使用。

Windows事件追蹤,ETW
圖三. ETW 追蹤

4.啟動追蹤命令如下:

Logman Start LDAP1

此時使用Logman Query將會顯示LDAP1為正在運行

5.然后,我們需要使用復制操作來復制想追蹤的問題或事件。在這個例子中,我執行了一個登錄和運行一些LDIFDE命令來執行LDAP搜索。一旦這些命令執行完,應該盡快啟動追蹤這樣可以最小的減少追蹤的誤差和更加容易讀取。

6.接下來,使用命令Logman Stop LDAP1來停止追蹤

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

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.因為是第二次運行追蹤,所以文件被命名為000002。

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

  • -of設置文件類型(默認為CSV)(如需更多格式,請查看在線幫助。)
  • -o表示輸出文件名為默認,其名稱為dumpfile.csv和產生最令人感興趣的LDAP活動存儲
  • -Summary, -Report表示統計數據(本例子沒有使用)

使用Excel(或者記事本)打開LDAP1.csv文件來查看數據。如圖4顯示, LDAP請求和響應被高亮顯示。 正如您看到的,搜索和綁定請求在列A,同時在列B中,您能看到成對出現的開始和結束請求。在右邊您還能看到用戶數據和LDAP請求的過濾和范圍及其他相關信息。

Windows事件追蹤,ETW
圖4.LDAP1.csv數據

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

雖然過去我一直都使用事件日志和類似的日志文件,但現在我使用Windows事件追蹤獲得更深層次且詳細的信息幫我解決我遇到的任何問題。非常簡單的命令用于追蹤和生成報表。當然,您可以通過網絡發現更多的命令項和更詳細的信息。

【編輯推薦】

  1. Windows Server 林功能級別詳解
  2. Windows Server崩潰的三大常見誘因與避免方式
  3. Windows Server 2008用戶權限管理
  4. Windows Server 2008 R2:入門
  5. Windows Server2008提升信息化水平案例分析
責任編輯:張浩 來源: TT中國
相關推薦

2015-09-07 14:08:32

Java編程異步事件

2020-02-07 11:15:30

Windows 10快捷方式Windows

2018-11-14 10:20:15

SonarQube開源追蹤代碼

2010-06-22 10:30:13

2020-12-16 09:24:18

Skywalking分布式鏈路追蹤

2010-01-22 14:28:24

使用C++

2023-07-31 07:07:25

2024-02-01 12:38:22

事件流事件溯源系統

2011-07-27 09:57:24

SQL TraceOracle

2023-12-29 08:33:17

2021-10-06 09:46:17

trace-cmd追蹤內核Linux

2019-06-14 11:15:27

WindowsLinuxWSL

2009-02-17 19:02:33

2013-08-15 16:44:25

2009-12-17 09:22:00

2009-02-17 18:01:30

2019-12-13 09:45:38

Windows 10PowerToysWindows

2023-11-10 12:55:00

消息代理事件代理

2010-01-12 18:12:58

VB.NET事件

2015-10-30 14:11:47

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕精品一区久久久久 | 影音先锋久久 | 欧美日韩中文国产一区发布 | 艹逼网| 久久久久国产一区二区三区 | av网站免费看 | 国产无套一区二区三区久久 | 天天躁日日躁狠狠躁2018小说 | 久久婷婷国产麻豆91 | 国产日产精品一区二区三区四区 | 最新中文字幕在线 | 欧美爱爱视频网站 | 91九色porny首页最多播放 | 久久久久国产一区二区三区 | 久久久久久国产一区二区三区 | 精品久久久久香蕉网 | 午夜三区 | 国产成人短视频在线观看 | 亚洲精品视频三区 | 依人成人 | 亚洲一区在线播放 | 99精品在线免费观看 | 国产精品影视在线观看 | 国产精品一二区 | 黄a在线观看 | 国产精品久久久 | 一区二区成人 | 男女视频在线观看网站 | 久久www免费视频 | 欧美日在线 | 日本特黄a级高清免费大片 成年人黄色小视频 | 成人av播放| 久久综合久色欧美综合狠狠 | 国产精品精品视频一区二区三区 | 国产激情在线 | 亚洲女人天堂成人av在线 | 国产精品毛片一区二区在线看 | 国产精品高潮呻吟久久久久 | 在线精品国产 | 国产亚洲第一页 | 欧美黑人国产人伦爽爽爽 |