如何在 nagios 中使继承的服务检查无效?

如何在 nagios 中使继承的服务检查无效?

我们有一个 nagios 设置,它使用继承的程度比我习惯的要大。我已阅读以下文档:

http://nagios.sourceforge.net/docs/3_0/objectinheritance.html

但我还是不明白如何才能实现我的目标。

我的服务器/主机已收到 procs 警告通知。我对此进行了调查,发现这是一个已知错误,对于此特定服务器可以安全忽略。理想情况下,我希望仅增加此主机的服务定义警告/关键点;但我也愿意在发布当前问题的补丁之前不使用此服务检查。通过 Web 界面禁用对我的经理来说不是一个可接受的选择。

服务定义:

define service{
            use                             unix-agent-service
            hostgroup_name                  linux-servers
            service_description             Agent: Total Processes
            check_command                   check_nrpe!check_total_procs
    }

主机定义:

define host{
        use                     linux-server
        host_name               unixlab
        alias                   Unix Lab
        address                 PRIVATE
        }

组/服务器定义:

define host{
        name                            linux-server
        use                             generic-host
        alias                           Linux server
        hostgroups                      linux-servers
        register                        0
        }

主机继承了主机组 linux-servers 中定义的所有服务。我尝试为服务检查指定一个名称,然后在主机定义中将该名称设置为 null,但我认为这种语法是错误的,并且/或者我不理解继承的这一部分:

define service{
        **name                                            agent-total-processes** 
       use                                             unix-agent-service
        hostgroup_name                  linux-servers
        service_description             Agent: Total Processes
        check_command                   check_nrpe!check_total_procs
}

主机定义:

define host{
        use                     linux-server
        host_name               unixlab
        alias                   Unix Lab
        address                 PRIVATE
        **agent-total-processes    null**
}

我确信我忽略了一些明显的东西......根据我对继承的解读,这应该是可能的,但我无法理解它。

有什么想法吗?

答案1

在服务定义中,您可以排除(使用!)您不想在其上运行它的特定主机:

define service {
        use                             unix-agent-service
        hostgroup_name                  linux-servers
        host_name                       !unixlab
        service_description             Agent: Total Processes
        check_command                   check_nrpe!check_total_procs
}

这会将服务应用于“linux-servers”的每个成员,除了“unixlab”。

相关内容