Nagios 检查两个服务中的至少一个是否正常

woj*_*chz 3 monitoring nagios

我有以下两个被动服务:一台机器上的 ServiceA、ServiceB。

我想有以下情况满足 OK 状态时的情况:

  • 服务 A 正常或服务 B 正常
  • ServiceA 没问题,ServiceB 没问题

我想在以下情况下发出警报:

  • 服务 A 已关闭,服务 B 已关闭

我应该使用什么配置选项来实现它?Servicedependency 看起来不错,但我对那个没有运气。

Cor*_*y J 5

这称为监视服务“集群”。您可以使用check_cluster脚本。

记录的方法使用这样的包装器脚本,而不是直接调用它:

define command{

command_name    check_service_cluster

command_line    /usr/local/nagios/libexec/check_cluster --service -l $ARG1$ -w $ARG2$ -c $ARG3$ -d $ARG4$ 

}
Run Code Online (Sandbox Code Playgroud)

然后定义您自己的特定服务:

define service{

...

check_command   check_service_cluster!"DNS Cluster"!1!2!$SERVICESTATEID:host1:dnsservicename,$SERVICESTATEID:host2:dnsservicename,$SERVICESTATEID:host3:dnsservicename

...

}
Run Code Online (Sandbox Code Playgroud)

在此示例中,1/3 服务不正常是警告,2/3 服务不正常是关键。

Nagios 文档

Groundworks知识库中的更多解释