事件跟踪Windows简化
09/08/2020
本文内容
本文介绍简化的 ETW Windows (事件) 。
适用于: WindowsServer 2008 R2 Service Pack 1
原始 KB 编号: 2593157
摘要
ETW 于 2000 年Windows引入。 它用于提供组件级别日志记录。 如使用 ETW 改进调试和性能优化一文所述,ETW 提供:
用户模式应用程序和内核模式设备驱动程序所引发 事件的跟踪机制。此外,ETW 还使您能够动态启用和禁用日志记录,从而轻松地在生产环境中执行详细跟踪,而无需重新启动或应用程序重新启动。这允许大型服务器应用程序以最小最小数量写入事件。
快速概述:事件提供程序将事件写入 ETW 会话 (它可以是任何用户模式应用程序、托管应用程序、驱动程序) 。 编写事件时,ETW 会添加有关其发生时间、进程和生成它的线程 ID、处理器号和日志记录线程的 CPU 使用率数据详细信息。 此信息由事件使用者 使用; 读取日志文件或侦听实时事件的会话并处理这些事件的应用程序。
logman 查询 提供程序命令中的示例 输出:
提供程序 GUID
.NET 公共语言运行时 {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}
ACPI 驱动程序跟踪提供程序 {一D0D4D-2D48-477D-B1C3-DAAD0CE6F06B}
Active Directory 域服务:SAM {8E598056-8993-11D2-819E-0000F875A064}
Active Directory:Kerberos 客户端 {BBA3ADD2-C229-4CDB-AE2B-57EB6966B0C4}
Active Directory:NetLogon {F33959B4-DBEC-11D2-895B-00C04F79AB69}
Application-Addon-Event-Provider {A83FA99F-C356-4DED-9FD6-5A5EB8546D68}
ASP.NET事件 {AFF081FE-0247-4275-9C4E-021F3DC1DA35}
ATA 端口驱动程序跟踪提供程序 {D08BD885-501E-489A-BAC6-B7D24BFE6BBF}
AuthFw NetShell 插件 {935F4AE6-845D-41C6-97FA-380DAD429B72}
BFE 跟踪提供程序 {106B464A-8043-46B1-8CB8-E92A0CD7A560}
BITS 服务跟踪 {4A8AAA94-CFC4-46A7-8E4E-17BC45608F0A}
证书服务客户端凭据搜索跟踪 {EF4109DC-68FC-45AF-B329-CA2825437209}
证书服务客户端跟踪 {F01B7774-7ED7-401E-8088-B576793D7841}
循环内核会话提供程序 {54DEA73A-ED1F-42A4-AF71-3E63D056F174}
Classpnp 驱动程序跟踪提供程序 {FA8DE7C4-ACDE-4443-9994-C4E2359A9EDB}
Critical Section Trace Provider {3AC66736-CC59-4CFF-8115-8DF50E39816B}
设备任务枚举器 {0E9E7909-00AA-42CF-9502-2C490471E598}
磁盘类驱动程序跟踪提供程序 {945186BF-3DD6-4F3F-9C8E-9EDD3FC9D558}
下层 IPsec API {94335EB3-79EA-44D5-8EA9-306F49B3A041}
Microsoft 下载中心提供了各种实用程序,以便分析 .etl 文件,例如网络监视器 v3.4。 但是,下面的示例脚本不需要安装其中任何一个。
更多信息
下面的脚本将生成 ETL 跟踪;本例中,Provider - Microsoft-Windows-TerminalServices-RemoteConnectionManager 的数据。
@echo off
ECHO These commands will enable tracing:
@echo on
logman create trace admin_wmi -ow -o c:\admin_wmi.etl -p " Microsoft-Windows-TerminalServices-RemoteConnectionManager " 0xffffffffffffffff 0xff -nb 16 16 -bs 1024 -mode 0x2 -max 2048
logman start admin_wmi
@echo off
echo
ECHO Reproduce your issue and enter any key to stop tracing
@echo on
pause
logman stop admin_wmi
logman delete admin_wmi
@echo off
echo Tracing has been captured and saved successfully at c:\admin_wmi.etl
将上述脚本另存为批处理文件 (.bat) 提升的权限运行它以生成 .etl 文件。
备注
可以修改此脚本,以根据需要为任何提供程序生成跟踪。 如上所述,可以从 logman 查询提供程序命令获取提供程序名称。可以使用任何事件提供程序替换突出显示的 字段,它将在数分钟内生成特定于问题的跟踪。
为了分析生成的 .etl 跟踪,请使用内置的 tracerpt.exe 实用工具生成可用于进一步解释的 .evtx 文件。
此命令的一个示例是:
tracerpt c:\admin_wmi.etl -o c:\admin_wmi.etl.evtx -of EVTX