以一个用nagios和check_mk监控的主机为例。 现在有运行的http和ssh服务器。 什么是最好的监测策略:
我不想得到大量的警报:
所以我想知道背后的监控策略和理论。 因为我不只是想要多次重复检查,只是产生大量无用的警报。 监控力求达到什么样的目标?
我已经用check_mk部署了nagios,执行了500多个检查。 这是一个普遍的问题,如何规划您的支票,并实现良好的覆盖面(如果你喜欢监测解决scheme无关)。
从Shane链接的上述问题中挑选你想要的任何监控解决scheme。 然后,在添加所有主机和服务时,请确保包含主机/服务依赖关系。 例如,如果主机A,B和C连接到交换机D,请确保A,B和C被设置为从属于D.这样,如果交换机D断开,您将不会收到所有通知依赖对象。
虽然有这个优点和缺点。 在上面的例子中,你只会得到一个警报(而不是大量的警报),所以你需要非常有意识地阅读和响应每一个警报,而不是依靠警报的数量你是一个问题的严重性线索。
要检查httpd是否运行正常,你需要一个不同的方法:访问你的应用程序的一个重要URL,并检查这个URL的典型内容是否包含在你的web服务器的答案中(你可以使用你自己的nagios脚本使用curl为了那个原因)。
SSHD非常可靠 – 所以没有必要检查它。 HTTPD将运行 – 但有时它不会再做任何事情(这将被一个简单的80端口检查覆盖) – 但更多的时候你会遇到HTTPD运行的情况,但是内容不再被传送。
除此之外,您应该build模(networking)依赖关系。 如果你的代理closures,每一个httpd检查将失败…
在服务器故障博客中有一篇关于监控的好文章…
你可以混合使用传统的Nagios检查+ Apache进程监控任何具有“web服务器”标签的东西。 如果添加服务依赖关系,您将得到“端到端”监控的混合,并且只能获取一个通知(当然,不包括“u”通知)
或者您关注“用户体验”监控,因此您只会通知模拟的最终用户(check_http)是否无法访问该站点,并使用Check_MK BI深入了解问题。