Icinga 1 主机状态 UNREACHABLE 但所有检查均正常

Icinga 1 主机状态 UNREACHABLE 但所有检查均正常

这是分布式 Icinga 1 环境。

我在 Icinga 1 客户端/卫星上大约有 100 台主机处于 UNREACHABLE 状态。对每台主机的所有四次检查均返回 OK 状态,但设备的整体状态为 UNREACHABLE。

该问题可能是由于我让 Icinga 1 以错误的 /usr/lib64/nagios/plugins/check_icmp 权限运行而引起的。(check_icmp 没有设置 suid 位。)

因此我停止了 Icinga 并清空了卫星上的状态保留文件 (state_retention_file=/var/spool/icinga/retention.dat),但这没有帮助。如果我清空主服务器上的同一个文件,会有帮助吗?

ps 显示我的submit_check_result.sh submit_host_check.sh脚本作为僵尸运行,但它们存活的时间不长。

答案1

我必须在客户端上恢复我的支票转发脚本。

以下是一些破碎的部分。

# BEGIN submit_check_result.sh
##############################

return_code=-1

case "$3" in
    OK)
        return_code=0
        ;;
    WARNING)
        return_code=1
        ;;
    CRITICAL)
        return_code=2
        ;;
    CRITICAL)
        return_code=2
        ;;
esac
/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &
# END Check_result

##############################

BEGIN submit_host_result.sh

##############################

return_code=2

case "$3" in
    OK)
        return_code=0
        ;;
    WARNING)
        return_code=1
        ;;
    CRITICAL)
        return_code=2
        ;;
    UNKNOWN)
        return_code=2
        ;;
esac

END Check_host
##############################

答案2

以下似乎已经修复了该问题。

猫/etc/icinga/scripts/submit_check_result.sh

return_code=-1

case "$3" in
    OK)
        return_code=0
        ;;
    WARNING)
        return_code=1
        ;;
    CRITICAL)
        return_code=2
        ;;
    UNKNOWN)
        return_code=-1
        ;;
esac

# pipe the service check info into the send_nsca program, which
# in turn transmits the data to the nsca daemon on the central
# monitoring server
# submit to master Icinga den-mon-prod

/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &

猫/etc/icinga/scripts/submit_host_check.sh

return_code=-1

case "$2" in
    UP)
        return_code=0
        ;;
    DOWN)
        return_code=1
        ;;
    DOWN)
        return_code=2
        ;;
    UNREACHABLE)
        return_code=3
        ;;
esac

/usr/bin/printf "%s\t%s\t%s\t%s\n" "$1" "$2" "$return_code" "$4" | /usr/sbin/send_nsca -H 111.14.219.31 -c /etc/nagios/send_nsca.cfg &

相关内容