我正在使用 Nagios 监控服务器。我已将其配置如下:
host{
name http_server
}
service{
name check-http
host_name http_server
check_command check_http
}
我想要实现的是,当任何服务发生故障时,主机都会处于该状态。这样我就可以从状态图进行监控,或者更好地了解整个系统。
谢谢!
答案1
嗯。
我认为使用服务监控并不理想作为主机监控。更好的解决方案可能是对端口 80 进行检查作为主机的测试(如果无法 ping 通),然后在 HTTP 检查中进行更具体的检查(例如,检查 200 响应或验证内容)。
答案2
我不会尝试这样做。我会使用“战术概述”或“问题”页面。如果您需要更高级的功能,请查看 NagVis。
答案3
在您给出的示例中,主机上只有一个服务。在这种情况下,我有一个简单的答案给您!
host{
name http_server
check_command check_http
}
这将使得 HOST 的状态取决于命令的状态。
如果您有多个想要合并的服务,这里有一种方法可以考虑,但我不确定它是否可行。
- 创建一个代表机器整体状态的新服务。它的 check_command 实际上是什么并不重要 - 也许是 check_dummy?
- 创建一组 ServiceDependency 对象,使新服务依赖于您感兴趣的主机上的所有其他服务。因此,当它们失败时,此服务也会失败(或处于警告或未知状态,或无论您喜欢什么)。
- 将这个新服务设为主机的 check_command。
最后一步我不太确定。它需要将服务作为命令传递给 check_command,我不知道这是否合法。