我已经设置了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
}
答案 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是在“主机”上运行的“服务”。