纳吉欧斯 - "Unable to send check for host"或"run check for service"



我在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。

相关内容

最新更新