(一)NRPE: Command 'check_swap' not defined
会出现这个错误是因为主控端在检查linux被控端的check_swap这个命令的时候,发现没有被定义。
说明一点:
如果主控段和被控都配置好的情况下,主控端要实现多项监控的时候,主控端的nrpe.cfg是不用进行配置的,而需要进行配置的就是被控端的nrpe.cfg
其中需要注意的地方:
1.在主控端写被控端的定义配置文件的时候(比如192-168-34-132.cfg这样的配置文件)里面所定义的命令行最好跟被控端的nrpe.cfg里面要添加的命令行的命令一样。
例如:
define service{
use linser133 ; Name of service template to use
host_name linux133
service_description Swap Usage
check_command check_nrpe!check_swap!20!10
}
那么其中“check_swap”这个nrpe的命令名称要和被控端的nrpe.cfg的配置文件里面的命令行里的“check_swap”相同。
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
2. 这些命令行的参数不能弄错,否则在web界面也会出现NRPE: Command 'check_swap' not defined的错误,可以参照下表:
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 注意路径一定要正确否则等于没有重启
或者使用 service xinetd restart 不过前提是已经将nrpe加入超级进程了。
(二)Usage:
1.如果出现这种错误一般应该是被控端的配置文件错误
2.有可能被控端的NSCP-0.4.1.73-x64里面的配置文件修改有错误而导致的。
所以要详细查看配置文件,看是否有遗漏或者更改错误的地方:
因为我这里没有配置密码项,所以如下图所示,至更改了modules的部分:
相应的在主控端的相关联的配置文件:
而最后web界面的结果:
(三)在监控的web界面出现winserver的标红项:
出现这种情况,是因为在nagios的目录下的windows.cfg的默认配置文件生效而导致。
所以需要在nagios.cfg的配置文件里面把这一项关闭,在这一行前面加上“#”注释,即:
#cfg_file=/etc/nagios/objects/windows.cfg
这时候检查全部配置文件的时候肯定会报找不到主机组winserver的错误。
那么这个时候,就可以建立hostgroup.cfg的配置文件,并加入到nagios.cfg的配置文件,然后修改nagios下主机的配置文件hostgroup项。
1.hostgroup.cfg配置文件的内容
define hostgroup{
hostgroup_name linux-group
alias linux group
members localhost
}
define hostgroup{
hostgroup_name windows-group
alias windows group
members 192.168.100.22,192.168.100.23,192.168.100.240
}
2.加入到nagios.cfg的配置文件
cfg_file=/etc/nagios/objects/commands.cfg
cfg_file=/etc/nagios/objects/contacts.cfg
cfg_file=/etc/nagios/objects/timeperiods.cfg
cfg_file=/etc/nagios/objects/templates.cfg
cfg_file=/etc/nagios/objects/hostgroup.cfg 把这一行加入进去
3.修改在nagio下被控主机的配置文件
hostgroups windows-group
然后再来检查全部配置文件,如果通过就可以重新启动nagios了。
这样就不会出现winserver的标红错误了。而与此同时,也可以更加方便的看到nagios下的分组。