如何被动监视 Windows 事件日志?

Rym*_*Rym 15 windows monitoring snmp windows-event-log

如何远程监视 Windows 事件日志,以便在发生某些事件时自动通知我?

有很多主动监控解决方案,但它们需要人工关注或持续轮询。我需要一个被动的解决方案,它只会在发生特定事件时生成通知。

Rym*_*Rym 12

Windows Server 具有用于 Windows 事件日志/查看器的内置 SNMP 陷阱生成器,它可以在发生任意事件时发送陷阱。

陷阱形式 (OID)

这些陷阱将遵循以下形式的 Microsoft 私有企业 MIB 分支:

1.3.6.1.4.1.311.1.13.X.n.n.n.n.n.n.n.n.n... 
Run Code Online (Sandbox Code Playgroud)

每个“n”是来自事件日志源名称的 ASCII 字符八位字节的十进制编码,X 指定要跟随的字符数。

因此,例如,源“Prefect”(如事件查看器中所见)生成的陷阱将显示为:

1.3.6.1.4.1.311.1.13.7.80.114.101.102.101.99.116 
Run Code Online (Sandbox Code Playgroud)

Windows 2000 Server 不完全支持此功能,并且会生成格式略有不同的陷阱,但其他过程是相同的。所有较新版本的 Windows 服务器都正确支持此功能

配置陷阱发送

有两个内置工具可用于设置陷阱生成。

evntwin:创建事件日志消息到 SNMP 陷阱的 映射evntcmd:加载由 evntwin 创建的映射,以便生成陷阱

从命令提示符运行 evntwin:这将产生一个 GUI。在配置类型下选择“自定义”,然后选择“编辑”。您现在将看到所有可能的事件源的列表。在您感兴趣的源下,选择您希望生成陷阱的特定事件 ID。然后,单击“添加”。

现在,您将看到陷阱的实际 OID、特定 ID 以及用于在发送陷阱之前设置基于时间的事件发生阈值的选项。

重复,直到为您关心的每个特定陷阱/事件组合创建映射。然后,单击“应用”,突出显示所有映射,然后单击“导出...”保存文件,并退出应用程序。

现在,再次从命令行运行 evntcmd,指定您刚刚创建的文件的名称:

evntcmd myeventfile.cnf
Run Code Online (Sandbox Code Playgroud)

从现在开始,您指定的事件将生成 SNMP 陷阱,这些陷阱将发送到您在 SNMP 服务设置中配置的所有陷阱接收器目标。像处理任何普通 SNMP 陷阱一样处理它们。