check_mk 版本 1.2.0.p3 nagios 版本
OS centos 6 X64
现象 Host的状态全部都是 down 但是Host的下的所有监控服务均有值 按照 安装了check_mk 结果如上。 排错经过: 检查/var/log/nagios.log 发现有plugin_output=(Return code of 127 is out of bounds - plugin may be missing)错误。 检查 /etc/nagios/check_mk.d/check_mk_templates.cfg 发现 主机状态的检测服务为 define service[ name check_mk_active ...... check_command check-mk-ping ] 继续检查 check_command define command [ command_name check-mk-ping command_line /usr/lib/nagios/plugins/check_icmp -m 1 $ARG1$ $_HOSTNODEIPS$ ] 由于是64的centos 插件应该在 command_line /usr/lib64/nagios/plugins/目录 因此 将该行改为
command_line /usr/lib64/nagios/plugins/check_icmp -m 1 $ARG1$ $_HOSTNODEIPS$
cmk -O
打开 发现 状态为Unknow 错误为 Warning: This plugin must be either run as root or setuid root.
cd /usr/lib64/nagios/plugins/ 发件插件的权限都是错误的 于是 chown nagios.apache ./*
cmk -O 继续检查后 发现错误依然 继续检查 check_command define command [ command_name check-mk-ping command_line /usr/lib/nagios/plugins/check_icmp -m 1 $ARG1$ $_HOSTNODEIPS$ ] 发现直接执行 /usr/lib/nagios/plugins/check_icmp -m 1 $ARG1$ $_HOSTNODEIPS$ 有错误 /usr/lib/nagios/plugins/check_icmp --help 查看参数 原来 应该是 check_icmp -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5
并且 由于 安装nagios的时候 当时是用 useradd nagios -s /bin/nologin 执行的 因此 实际上应该用 su nagios -s /bin/sh -c '命令'来执行 参照其他命令设置方法 修改为 command_line $USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 5 cmk -O 恢复正常。 总结 1 错误原因1 安装check_mk的时候 选择 插件目录的时候 没有仔细看 直接使用默认值 应该修改为lib64而不是lib目录
本文转自天山三害 51CTO博客,原文链接:http://blog.51cto.com/skybug/1337796,如需转载请自行联系原作者