主机的Nconf自定义对象变量

时间:2013-03-01 11:12:08

标签: variables nagios

我已经设置了Nagios和Nconf来检查我们的网络,但是我有一个问题,我还没有解决。 如何将自定义对象变量(_var-name)添加到主机?我有许多需要自定义变量的自定义检查。

例如:输出

define host{
    use                     generic-host            
    host_name               my-host-name
    alias                   my-host-name-alias
    address                 my-host-name.com
    _SSHUSER                ausername                               <- How do I add this i NConf
    _CONNECTIONSTRING       "jdbc:mysql://my-host-name.com/db_name" <- And this?
    hostgroups              Linux
    }

2 个答案:

答案 0 :(得分:1)

您可以向主机定义添加额外的属性,然后指示NConf将这些属性写入生成的配置。

参见NConf管理/属性 - 添加

Nagios-specific attribute name: _SSHUSER
Friendly name: ssh user on host
Attribute belongs to class: host
attribute is visible?: yes
write attribute to configuration?: yes

提交

在此过程之后编辑已定义的主机,您应该找到“ssh user”属性。 填写相关数据并生成Nagios配置。新属性将包含在其中。

答案 1 :(得分:0)

如果没有一些相当大的修改,Nconf将不会这样做。我通常在check_command上输入选项作为参数。当然,这只有在您的NRPE服务器设置为允许将args传递给受监控主机时才有效。

在Nagios中定义check_command时,不必仅使用命令的短名称。你可以传递参数 - 有些已经传递,比如$ HOSTNAME $。这些不一定是Nagios的'宏'。这些是通过$ ARG1 $,$ ARG2 $等传递的。

例如,在service.cfg文件中:

check_ping!myhost.mydomain.com!5.0

见(例2)@ http://nagios.sourceforge.net/docs/3_0/macros.html

在上面的示例中,这些选项在“主机”定义中似乎不合适。它们看起来更像是服务器检查选项,mysql是在“主机”上运行的“服务”。