我是一名程序员而不是系统pipe理员,但由于我们的服务器有很多麻烦,我以为我会积极主动地帮助我们过度劳累(学习)系统pipe理员。
我们有20-25左右的Windows服务器(2003年和2008年)。 他们的范围从SQL服务器,networking服务器,进行批处理,托pipe内部应用程序等。我们使用WhatsUp作为监视器软件来监视内存,处理器活动,网站状态等。
但目前看来,我们根本没有监视事件日志。 我已经看到,在这个事件日志中出现了很多错误和警告,虽然我不明白它们的影响,但所有的错误都可能是不好的。
这种情况下的标准做法是什么? 系统pipe理员是否通常在某个服务窗口中每月/每周/每天手动通过每台服务器上的事件日志? 你有一些聚合软件,所以你所有的服务器手动检查这种方式? 或者一旦某个错误/警告显示在事件日志中,就会引发报警或电子邮件?
我已经看到WhatsUp有一个插件(这花钱),可以做到这一点,我也看到例如OSSEC在这里build议。 这是我应该build议的东西,如果有的话,它有多重要?
不监视事件日志的pipe理员(或者相当于非Windows系统)不是pipe理员。 然而,监测日志有很多不同的方法和手段,而且由于它们是神秘的,所以监测最好以编程方式完成。 这并不排除定期随机手动检查的必要性,但肯定会使大型复杂工作易于pipe理。
关键是一个程序(或一套程序),将削减日志和提取“有趣”的位。 例如,为什么我们通常会关心贝蒂向帐户惠普打印机发送了一个50页的文档,然而日志却充斥着这样的东西。 绝大多数事件日志条目对日常操作没有实际的关注,但在尝试隔离或debugging问题时可能非常有帮助。
使用filter提取错误和警告,然后甚至可能删除给定系统上正常和预期的错误和警告。 一旦你正确地过滤掉了这些信息,你最终会得到相当less量的需要进一步调查的事件。 或者至less有一个人会希望是结果。
您可以使用Splunk来收集和索引Windows事件。
我们使用nagios作为监控解决scheme,使用nsclient ++我们可以监控windows日志。
通常我们使用这个关于Windows日志的策略:
在nagios描述中,我们显示所有错误的总和和一个简短的描述。
如果错误似乎很重要(磁盘故障,ntfs故障,安装失败等),那么我们login到服务器,我们检查。
如果一些打印机被定义和共享,普通服务器可能会显示一些错误,但通常情况下,健康的服务器在日志中没有很多错误
除了WMI,SNMP和SNMP陷阱,Syslog,SSH和许多社区增加的协议之外,Zenoss还进行Windows Eventlog监控。 另外它是开源的。