我在CentOS 7盒上安装了Nagios Core 4.2.4,以监视我的HP网络开关。我想从最低限度开始,所以这就是我安装它的方式:
yum -y install nagios nagios-plugins-all
在我的/etc/nagios/nagios.cfg中
cfg_dir=/etc/nagios/switches
然后,我创建了此"开关"文件夹,并在其中创建了" ABCDESH01-01.CFG"。它包含用于check_ping的"定义主机"one_answers"定义服务"。
define service{
use generic-service
host_name ABCDESW01-01
service_description PING
check_command check_ping!100.0,20%!200.0,60%
normal_check_interval 5
retry_check_interval 1
}
然后,我用" SystemCtl start nagios"开始了Nagios serivce。然后,我开始在/var/log/nagios/nagios.log
中看到重复的错误消息[1489462244] Unable to send check for host 'ABCDESW01-01' to worker (ret=-2)
[1489462424] Unable to run check for service 'PING' on host 'ABCDESW01-01'
我可以手动运行check_ping
# /usr/lib64/nagios/plugins/check_ping -H 10.0.3.131 -w 100.0,20% -c 200.0,60%
PING OK - Packet loss = 0%, RTA = 0.88 ms|rta=0.881000ms;100.000000;200.000000;0.000000 pl=0%;20;60;0
我没有触摸command.cfg。对我来说很好
'check_ping'命令定义
define command{
command_name check_ping
command_line $USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}
两个"无法"错误是什么意思,我该如何修复它们?
Nagios是否在/var/spool/nagios/status.dat文件中跟踪结果?现在,对于" ServiceStatus",全部是0
servicestatus {
...
has_been_checked=0
check_latency=0.000
current_state=0
...
}
谢谢!
在Nagiossupport的帮助下,我们发现正是Selinux处于"执行"模式中,导致了问题。一旦将其设置为"允许",通过运行shell命令setEnforce = 0,现在一切正常。
您可以将nagios selinux上下文设置为宽松模式:
# semanage permissive -a nagios_t
# semanage permissive -a nagios_script_t # for cgi
# semanage permissive -a nagios_admin_t # if you have selinux trouble with admin
没有什么理解完全禁用Selinux。