我们有一个 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
}
Run Code Online (Sandbox Code Playgroud)
主机定义:
define host{
use linux-server
host_name unixlab
alias Unix Lab
address PRIVATE
}
Run Code Online (Sandbox Code Playgroud)
组/服务器定义:
define host{
name linux-server
use generic-host
alias Linux server
hostgroups linux-servers
register 0
}
Run Code Online (Sandbox Code Playgroud)
主机继承了主机组 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
}
Run Code Online (Sandbox Code Playgroud)
主机定义:
define host{
use linux-server
host_name unixlab
alias Unix Lab
address PRIVATE
**agent-total-processes null**
}
Run Code Online (Sandbox Code Playgroud)
我确定我遗漏了一些明显的东西……根据我对继承的阅读,这应该是可能的,但我无法理解它。
想法?
在服务定义中,您可以排除(使用!)您不想在其上运行它的特定主机:
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
}
Run Code Online (Sandbox Code Playgroud)
这将使服务应用于“linux-servers”的每个成员,“unixlab”除外。
| 归档时间: |
|
| 查看次数: |
2366 次 |
| 最近记录: |