Nagios:整个主机组的相同主机上的服务依赖关系

我有一个Nagios系统,其中包含大量不同主机组的主机。 这些主机中的每一个都有两个监视的服务,其中一个是依赖于另一个 – 如果service1是WARNING或CRITICAL,那么该服务器上的service2也不应该发出警报。 service2更多地用于统计信息收集,而service1是一个简单的可用性检查 – 因此,我总是希望service2检查,但不警告service1报告为closures。

这是我的services.cfg条目:

define servicedependency{ hostgroup example-servers #host_name host1.example.com,host2.example.com service_description service1 dependent_service_description service2 execution_failure_criteria n notification_failure_criteria u,w,c,o } 

我已经尝试通过主机组指定它,并作为单个服务器的列表。 理想情况下,我会为整个主机组在一个,而不是不断维护一个列表。

但是,无论如何,这似乎并不奏效。 如果service1closures,则service2在问题屏幕和主机详细信息中也显示CRITICAL状态。

从“execution_failure_criteria”的Nagios手册:“如果您指定n(无)作为选项,那么执行依赖关系永远不会失败,相关服务的检查将始终被主动检查 (如果其他条件允许的话)。

听起来你应该使用“u,c”来代替(不要检查server1是未知的还是CRITICAL)。 或者也许“w,u,c”如果来自service1的WARNING状态也应该导致service2不执行。

如果你指定“execution_failure_criteria n”,那么service2将会被检查。 如果被选中并处于警告或临界状态,则用户界面将显示该状态。 你不能阻止(afaik),但你可以阻止它发送通知,例如“notification_failure_criteria u,w,c”。

我认为你可以将“execution_failure_criteria”设置为它(即“n”),并且在显示service2的状态显示为无法到达的关键时刻,或者将其更改为“c”。

如果service1正常,你可能不想压制通知,这是你在用“notification_failure_criteria u,w,c,o”中的“o”所做的事情。