我如何远程监控 Windows 事件日志,以便在发生某些事件时自动收到通知?
有很多主动监控解决方案,但它们需要人工关注或不断轮询。我需要一种被动解决方案,当特定事件发生时,它会简单地生成通知。
答案1
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 服务器都正确支持此功能
配置 Trap 发送
您可以使用两个内置工具来设置陷阱生成。
事件孪生:创建事件日志消息到 SNMP 陷阱的映射 事件命令:加载由 evntwin 创建的映射,以便生成陷阱
从命令提示符运行 evntwin:这将生成一个 GUI。在配置类型下选择“自定义”,然后选择“编辑”。现在您将看到所有可能的事件源的列表。在您感兴趣的源下,选择您希望生成陷阱的特定事件 ID。然后单击“添加”。
现在,您将看到陷阱的实际 OID、特定 ID 以及在发送陷阱之前设置事件发生时间阈值的选项。
重复此操作,直到您为您关心的每个特定陷阱/事件组合创建了映射。然后,单击“应用”,突出显示所有映射,然后单击“导出...”保存文件并退出应用程序。
现在,再次从命令行运行 evntcmd,指定刚刚创建的文件的名称:
evntcmd myeventfile.cnf
从此时起,您指定的事件将生成 SNMP 陷阱,这些陷阱将发送到您在 SNMP 服务设置中配置的所有陷阱接收器目标。像处理任何常规 SNMP 陷阱一样处理它们。
答案2
答案3
对于 2008、Vista、XP 和 2003,您可以使用 Windows 远程事件日志订阅服务。这是 Vista 和 2008 的原生功能。对于 2003 和 XP,您需要特定的服务包。Windows 使用 RMI 从远程系统收集事件日志,与 syslog 非常相似,但方式更安全。您还可以使用组策略让所有服务器将事件转发到单个 2K8、Vista 或 2003 服务器。您还可以在事件查看器中设置通知/警报。
答案4
也许 eventtriggers 可以帮助你(http://technet.microsoft.com/en-us/library/cc773308(WS.10).aspx)。同时查找 eventquery.vbs。