刚从一家新公司开始,我的第一个任务就是寻找内部监控系统的替代品。
他们目前的解决scheme是通过WAN检查各种设备的.Net应用程序(因为他们是提供24/7支持/“维护”的IT咨询公司)。 设备范围从路由器/交换机/打印机到MS服务器和服务。
在阅读了网站上的无数post并广泛search之后,似乎一致认为某种Nagios / Munin组合是要走的路。
这使我想到我的问题:
A)是否可以在公司本地运行Nagios服务器,并通过WAN监控各个外部站点? (他们不需要在每个站点上的本地Nagios服务器,因为大多数站点相对较小(10-25个主机),站点数量相当大(75-100))。
B)如果是这样,代理商将如何联系Nagios后端? 通过SSH? HTTP?
C)除了WAN链路可能出现故障之外,这种解决scheme的直接缺点是什么?
任何反馈都是值得赞赏的,而且我对于这个行业相当新颖的任何错误概念事先抱歉。
通过广域网进行监控是可能的,但通常并不理想。 这是因为如果广域网链路发生故障或者发生故障,所有的检查都将失败,并且您无法看到远程位置正在发生的事情。 您也有增加的延迟,使其对LAN View性能测量不太有用。 这就是说,如果你这样做,你可能想要设置依赖关系,所以当WAN链接出现问题时,不会被警报充斥。
监视系统与其监控服务之间通信的最常见方式是build立站点到站点的VPN隧道。 那么沟通与本地networking没有什么不同。 另外,Nagios通常是基于Pull(虽然不一定是)。 所以Nagios联系它监视的服务和服务器,而不是相反。
最后,更理想的解决scheme是使用分布式监控设置,Nagios的一个选项在http://nagios.sourceforge.net/docs/3_0/distributed.html中有描述。
这取决于你将要监测的东西。 大多数情况下,如果你只是做ping检查,服务检查,磁盘检查等,并坚持nagios的默认5分钟检查时间,我不能看到它导致你的问题。
再一次,取决于你正在检查什么取决于它将要讨论什么。 如果你正在检查Windows主机,你可以只使用WMI查询,甚至不需要运行在盒子上的代理。
这当然是可能的,通过几种不同的方法。
如果“分布式设置”不可行,那么您至less需要执行以下操作之一:
我会build议#3,因为它需要最less的防火墙漏洞,并且还简化了configuration。 这是分布式设置的精简版本,因为它不需要在每个站点上有一个完整的Nagios实例。
为此,您可以设置NRPE (或使用check_by_ssh )并让此“代理”对networking上的其他主机运行所有其他检查。 这相对于代理获得的性能数据具有额外的好处,所以它不会受到WAN延迟的影响。
此外,您还可以使用父/子设置,使远程站点上的每台主机成为其代理的子级,以减less误报通知。 您可能还想使所有服务都依赖于代理的check_nrpe(或check_ssh)服务。 有关更多信息,请参阅networking可访问性文档。
无论使用哪种方法,适当地调整默认超时非常重要,以应对通过WAN链路所增加的延迟。