You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows Server 2016环境下能否将Windows事件日志采集至Application Insights?

Application Insights 采集 Windows 事件日志的支持情况及实现方式

首先明确回答:Application Insights 完全支持聚合 Windows 事件日志,不过需要通过配置特定模块或工具实现,默认不会自动采集这类日志。结合你提到的 Windows Server 2016 环境,下面分享两种可行的实现方案:

1. 使用 ETW Collector NuGet 包(你尝试的方向是正确的)

你提到的 Microsoft.AI.EtwCollector NuGet 包正是官方用于采集 ETW(Event Tracing for Windows)事件的工具,而绝大多数 Windows 系统事件日志都是通过 ETW 发布的,所以这个方案完全可行。

补充完整配置示例

在你的 ApplicationInsights.config 文件中,需要明确配置要采集的 ETW 提供程序,比如你提到的崩溃转储日志,再加上系统日志的配置示例:

<TelemetryModules>
  <!-- 引入 ETW Collector 模块 -->
  <Add Type="Microsoft.ApplicationInsights.EtwCollector.EtwCollectorTelemetryModule, Microsoft.AI.EtwCollector">
    <Sources>
      <!-- 采集崩溃转储相关事件,级别设为 Verbose -->
      <Add ProviderName="Microsoft-Windows-Crashdump" Level="Verbose" />
      <!-- 采集系统日志的警告及以上级别事件 -->
      <Add ProviderName="Microsoft-Windows-EventLog-System" Level="Warning" />
      <!-- 可根据需求添加更多提供程序,比如应用程序日志 -->
      <Add ProviderName="Microsoft-Windows-EventLog-Application" Level="Error" />
    </Sources>
  </Add>
</TelemetryModules>

注意要确保安装的是官方正确的 NuGet 包:Microsoft.AI.EtwCollector,避免和其他同名包混淆。

2. 使用 Application Insights Agent(无需修改代码)

如果不想改动应用代码,也可以用官方的 Application Insights Agent(曾用名 Status Monitor)来配置采集 Windows 事件日志:

  • 先在 Windows Server 2016 上安装 Application Insights Agent
  • 打开 Agent 的配置界面,找到「Windows Event Logs」选项
  • 添加你需要采集的日志类别(比如应用程序、系统、安全),并设置要采集的日志级别(Error/Warning/Information 等)
  • 保存配置后,Agent 会自动读取指定的 Windows 事件日志,并发送到你的 Application Insights 资源中

关键注意事项

  • 确保运行应用或 Agent 的账号拥有足够权限读取 Windows 事件日志,建议将账号加入「Event Log Readers」组,或者赋予本地管理员权限
  • 如果不确定 ETW 提供程序的名称,可以用命令行工具 wevtutil gp 查询,比如输入 wevtutil gp Microsoft-Windows-EventLog-System 就能查看系统日志对应的提供程序详情

内容的提问来源于stack exchange,提问作者CosX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:35:51