当来自特定服务的特定严重性事件命中 Windows 服务器事件日志时,是否有一种简单的方法可以发送电子邮件?这是在 Windows Server 2003 上,如果它有所作为的话。
注意,我们确实在我的工作场所对生产服务器进行了适当的监控和警报,但我们只需要在开发中为该服务提供快速解决方案。
当来自特定服务的特定严重性事件命中 Windows 服务器事件日志时,是否有一种简单的方法可以发送电子邮件?这是在 Windows Server 2003 上,如果它有所作为的话。
注意,我们确实在我的工作场所对生产服务器进行了适当的监控和警报,但我们只需要在开发中为该服务提供快速解决方案。
您可以使用多平台开源软件OSSEC来做到这一点:
对于日志监控/警报:
这是一篇关于 360° 安全性的 OSSEC 文章。
专业的商业替代品:EventTracker(Prism Microssystems):
这是我的另一个愚蠢的 VBScript 创建,由其他几个脚本拼凑而成。
如果您使用Non-Sucking Service Manager或 SRVANY 之类的工具来安装它,则可以将其作为 Windows 服务运行。使用 NSSM,命令行将是:
请务必替换您的电子邮件收件人、发件人和 SMTP 服务器名称。
您可以使用“PushEventToMonitor”调用来定义要发出警报的事件。参数是:事件 ID、事件日志名称、源、类别、类型、用户和可以与日志消息匹配的正则表达式。我有一个匹配 TELNET 服务的启动/停止的示例,以及一个匹配脚本本身的启动(将事件记录到应用程序日志)的示例。
这是初稿,因为我为客户写的那篇实际上“正在生产中”是写在他们的一角钱上并且“属于”他们的。因此,我重新编码了这个(实际上与客户使用的有很大不同),它很可能潜伏着愚蠢的错误。我今晚在我的一些系统上运行了一段时间,但没有发现问题。
也许我最终会让这变得更好一点。如果它把它的配置从注册表中拉出来(这样它可以用组策略控制)并且如果它被打包成一个 MSI 以便于部署到服务器组,那就太好了。那好吧。
您可以使用 Windows 任务执行此操作,
请参见此处http://www.vistax64.com/tutorials/67961-event-viewer-email-notification.html
活着的服务器可以为您做到这一点。该产品最多可免费监控 10 个事件。
NT 事件日志监视器是一个免费插件,位于此处。非常易于使用和设置。
GFI 的集中式事件日志管理工具 ( GFI EventsManager ) 可以做到这一点,但不是 FOSS。
有关基于自定义事件过滤器发送电子邮件的方法,请参阅https://serverfault.com/a/517457/75770
测试在 Server 2008 上工作,即使需要 SMTP 身份验证。