Nagios:整个主机组对同一主机的服务依赖性

Nagios:整个主机组对同一主机的服务依赖性

我有一个 Nagios 系统,其中有大量主机,这些主机被归类到不同的主机组中。每个主机上都监控着两个服务,其中一个服务依赖于另一个服务 - 如果 service1 处于 WARNING 或 CRITICAL 状态,则该服务器上的 service2 也不应该发出警报。service2 更适合于统计信息收集,而 service1 只是简单的可用性检查 - 因此,我总是希望 service2 进行检查,但如果 service1 报告为宕机,则不发出警报。

这是我的 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
}

我尝试过通过主机组和单个服务器列表来指定它。理想情况下,我会一次性为整个主机组指定它,而不必不断维护列表。

但是,不管怎样,这似乎都不起作用。如果 service1 停机,service2 也会在问题屏幕和主机详细信息中显示 CRITICAL 状态。

答案1

摘自 Nagios 手册中的“execution_failure_criteria”:“如果您指定 n(无)作为选项,则执行依赖项将永远不会失败,并且依赖服务的检查将始终积极检查(如果其他条件允许的话)。”

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

答案2

如果您指定“execution_failure_criteria n”,则 service2 将始终受到检查。如果已检查并处于警告或严重状态,则用户界面将显示该状态。您无法阻止这种情况(据我所知),但您可以阻止它发送通知,例如“notification_failure_criteria u,w,c”。

我认为您可以将“execution_failure_criteria”设置为原样(即“n”),并在无法访问时将 service2 显示为关键状态,或者将其更改为“c”。

如果 service1 正常,您可能不想抑制通知,这就是您对“notification_failure_criteria u,w,c,o”中的“o”所做的。

相关内容