你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Log Analytics 代理收集 Windows 事件跟踪 (ETW) 事件,以在 Azure Monitor 日志中进行分析

Windows 事件跟踪 (ETW) 提供了一种用于检测用户模式应用程序和内核模式驱动程序的机制。 Log Analytics 代理用于收集写入到管理和操作 ETW 通道Windows 事件。 但是,有时需要捕获和分析其他事件,例如写入分析通道的事件。

重要

自 2024 年 8 月 31 日起,旧版 Log Analytics 代理已弃用。 Microsoft 将不再为 Log Analytics 代理提供任何支持。 如果使用 Log Analytics 代理将数据引入 Azure Monitor,请立即迁移到 Azure Monitor 代理

事件流

若要成功收集基于清单的 ETW 事件以在 Azure Monitor 日志中进行分析,必须使用 Windows Azure 诊断扩展 (WAD)。 在这种情况下,诊断扩展充当 ETW 使用者,将事件作为中间存储写入 Azure 存储(表)。 此处,它将存储在名为 WADETWEventTable 的表中。 然后,Log Analytics 从 Azure 存储中收集表数据,并将其呈现为名为 ETWEvent 的表。

事件流

配置 ETW 日志收集

步骤 1:查找正确的 ETW 提供程序

使用以下任一命令枚举源 Windows 系统上的 ETW 提供程序。

命令行:

logman query providers

PowerShell:

Get-NetEventProvider -ShowInstalled | Select-Object Name, Guid

(可选)可以选择将此 PowerShell 输出通过管道传输到 Out-Gridview 以帮助导航。

记录与“事件查看器”中显示的“分析”或“调试”日志或与要为其收集事件数据的模块一致的 ETW 提供程序名称和 GUID。

步骤 2:诊断扩展

确保在所有源系统上都安装了 Windows 诊断扩展。

步骤 3:配置 ETW 日志收集

  1. 在左侧窗格中导航到虚拟机的“诊断设置”

  2. 选择“日志”选项卡。

  3. 向下滚动并启用“Windows 事件跟踪 (ETW) 事件”选项 Screenshot of diagnostics settings

  4. 根据你要为其配置集合的提供程序来设置提供程序 GUID 或提供程序类

  5. 适当设置日志级别

  6. 单击提供的提供程序旁边的省略号,然后单击“配置”

  7. 确保将“默认目标表”设置为“etweventtable”

  8. 根据需要设置关键字筛选器

  9. 保存提供程序和日志设置

生成匹配事件后,应会看到 Azure 存储的 WADetweventtable 表中显示 ETW 事件。 可以使用 Azure 存储资源管理器来确认这一点。

步骤 4:配置 Log Analytics 存储帐户集合

遵循这些说明,从 Azure 存储收集日志。 配置完成后,ETWEvent 表下的 Log Analytics 中应会出现 ETW 事件数据。

后续步骤