加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows事件追踪入门与运用方式

发布时间:2022-01-21 22:18:28 所属栏目:Windows 来源:互联网
导读:副标题#e# 虽然大多数Windows开发者都知道Windows事件追踪(Event Tracing for Windows,ETW)是一个日志记录和事件追踪工具,但是许多管理员却从没听说过它,只是简单地认为ETW不过是操作系统提供的事件日志记录与追踪功能的一部分。ETW在内核中运行,可以
副标题[/!--empirenews.page--]        虽然大多数Windows开发者都知道Windows事件追踪(Event Tracing for Windows,ETW)是一个日志记录和事件追踪工具,但是许多管理员却从没听说过它,只是简单地认为ETW不过是操作系统提供的事件日志记录与追踪功能的一部分。ETW在内核中运行,可以追踪用户模式应用程序、操作系统内核和内核模式设备驱动引发的事件。
 
      一些操作系统核心组件和第三方应用程序使用Windows事件追踪来提供事件日志记录和追踪。虽然在Windows2000中***次发布时,Windows事件追踪只有在Windows检查版本中才能使用,但现在它已经是所有Windows版本的内置工具。
  
在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 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:etwinput.txt –o c:etwcoreKerb
 
参数-pf 的意思是读一个输入文本文件(如本例中的input.txt)。其格式如图2所示。
 
Windows事件追踪,ETW
图2.输入文本文件格式

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读