Nagios - "无法发送托管主机"或者"运行检查服务"

时间:2017-03-14 04:15:19

标签: nagios

我在CentOS 7机箱上安装了Nagios核心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。

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服务。然后我开始在/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
    ...
    }

谢谢!

2 个答案:

答案 0 :(得分:1)

在NagiosSupport的帮助下,我们发现SELinux处于导致问题的“强制”模式。通过运行shell命令setenforce = 0将其设置为“permissive”,现在一切正常。

答案 1 :(得分: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。