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


15

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

有许多主动监视解决方案,但是它们需要人工关注或不断轮询。我需要一个被动解决方案,该解决方案将在发生特定事件时简单地生成通知。


Windows应该可以在本地执行此操作,因此无需付费解决方案或非免费插件。
Rym

该解决方案应生成SNMP陷阱,因为SNMP是标准且部署最广泛的监视协议。
Rym

Answers:


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... 

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

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

1.3.6.1.4.1.311.1.13.7.80.114.101.102.101.99.116 

Windows 2000 Server不完全支持此功能,并且将生成格式稍有不同的陷阱,但是其他步骤是相同的​​。Windows Server的所有较新版本均正确支持此功能

配置陷阱发送

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

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

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

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

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

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

evntcmd myeventfile.cnf

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


3

您可以使用具有通知的Event Sentry

实时事件日志监视是EventSentry的核心功能,可让您监视所有标准(应用程序,安全性,系统,DNS服务器,文件复制服务,目录服务)和自定义事件日志。事件日志条目可以转发到各种即时通知(例如电子邮件,寻呼机,SNMP等)或专为合并而设计的通知(例如数据库,文件等)。


如果您有时间并且熟悉脚本编写,则可以使用现有代码和工具(例如SysInternalPsLogList用于监视来自Microsoft ScriptCenter,LogParser 的事件日志脚本以及免费的SMTP命令行工具,例如Blatbmail)构建一个DIY解决方案。

http://www.blat.net/


1

对于2008,Vista,XP和2003,您可以使用Windows远程事件日志订阅服务。这是Vista和2008的本机功能。对于2003和XP,您需要特定的Service Pack。Windows使用RMI从远程系统收集事件日志,该事件日志与syslog非常相似,但是方式更安全。您还可以使用组策略使所有服务器将事件转发到单个2K8,Vista或2003服务器。您还可以在事件查看器中设置通知/警报。


0

如果喜欢编写脚本,则可以编写一个WMI事件接收器,当新事件附加到事件日志中时,该接收器可以接收通知。我已经运行了VBScript版本的脚本作为服务,并且在接收到它认为“有趣”的事件(通过配置文件中的regexp匹配)后,它将生成SMTP电子邮件。这是一个相当琐碎的脚本,但是我不能发布它,因为它“属于”我为其编写的客户。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.