如何在不编辑服务文件的情况下排除单个主机的继承服务?
我有配置文件目录中有许多文件,每个主机、主机组、模板和服务一个。
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