Nagios 排除单个主机的服务

Nagios 排除单个主机的服务

如何在不编辑服务文件的情况下排除单个主机的继承服务?


我有配置文件目录中有许多文件,每个主机、主机组、模板和服务一个。

hg_linux-服务器.cfg

define hostgroup{
    hostgroup_name hg_linux-server
    alias Linux-Server
}

检查交换配置文件

define service{
    service_description check_swap
    check_command check_nrpe!check_swap
    hostgroup_name hg_linux-server
    [...] #more options...
}

t_linux-服务器.cfg

define host{
    name t_linux-server
    hostgroups hg_linux-server
    register 0
    [...] #more options...
}

示例主机.域.本地.cfg

define host{
    use t_linux-server
    host_name examplehost
    alias examplehost.domain.local
    address 192.168.0.2
}

答案1

你不能...不编辑服务定义。

examplehost从服务中排除的方法是:

define service{
  service_description check_swap
  check_command check_nrpe!check_swap
  hostgroup_name hg_linux-server
  host_name !examplehost
  [...] #more options...
}

答案2

我找到了一个解决方法:

创建一个新的主机组:

define hostgroup{
     hostgroup_name hg_no-check-swap
     alias exclude check_swap
     register 0
}

将成员添加到主机

define host{
    use t_linux-server
    host_name examplehost
    alias examplehost.domain.local
    address 192.168.0.2
    hostgroups hg_no-check-swap
}

并排除主机组

define service{
    service_description check_swap
    check_command check_nrpe!check_swap
    hostgroup_name hg_linux-server,!hg_no-check-swap
    [...] #more options...
}

现在我可以删除 examplehost.domain.local.cfg 文件,没有任何错误。 Nagios 核心 4.3.4

相关内容