在Nagios上从服务状态设置主机状态

我正在用Nagios监视服务器。 我已经configuration它是这样的:

host{ name http_server } service{ name check-http host_name http_server check_command check_http } 

我试图实现的是,当任何服务失败时,主机属于该状态。 通过这种方式,我可以从状态图上进行监视,或者对整个系统有更好的了解。

谢谢!

嗯。

我不认为使用服务监控作为主机监控的理想。 一个更好的解决scheme可能是检查端口80作为主机的testing(如果ping不可行),然后在HTTP检查中进行更具体的检查(例如对于200响应或validation内容)。

我不会试图这样做。 我会使用“战术概述”或“问题”页面。 如果你需要更有趣的东西看看NagVis。

在这个例子中,你只给你一个主机上的服务。 在这种情况下,我有一个简单的答案给你!

 host{ name http_server check_command check_http } 

这将使得HOST的状态取决于命令的状态。

如果你有多个服务你想join到一起,这是一个考虑的方法,但我不知道它是否会工作。

  • 创build一个代表机器整体状态的新服务。 它的check_command其实并不重要 – 也许是check_dummy?
  • 创build一组ServiceDependency对象,使这个新服务依赖于您感兴趣的主机上的所有其他服务。 所以,当他们失败时,这个服务也失败了(或者是警告或者未知的,或者你喜欢的任何东西)。
  • 使这个新服务成为主机的check_command。

我不确定的最后一步。 它需要将一个服务作为一个命令传递给check_command,我不知道这是否合法。