新部署服务器后,添加监控,总是报NRPE: Unable to read output。一直没解决,今天来了,随便检查检查,居然解决了。
首先从服务器端测试,/usr/local/sy/nagios/libexec/check_nrpe -H IP -c check_em2 -p 5667,报错。
/usr/local/sy/nagios/libexec/check_nrpe -H IP -c check_em2 -p 5667 输出没问题。
到客户端测试, /usr/local/sy/nagios/libexec/check_uptraffic -i em2 -w 90 -c 95 -b 1000 -u m 输出没问题。
突然想到应该使用nagios用户来测试
su - nagios -c "/usr/local/sy/nagios/libexec/check_uptraffic -i em2 -w 90 -c 95 -b 1000 -u m"
报错,无权限,在175行。问题出现,这样就好办了
检查175代码 open( FILE, ">" . $TRAFFIC_FILE . "_if" . $iface_descr ) 说输出到$TRAFFIC_FILE中以后缀_if设备名
查找TRAFFIC_FILE变量,其值为"/tmp/traffic"。
到/tmp目录下,
[root@jltelx5box etc]# ll /tmp/traffic_ifem*
-rw-rw-r-- 1 nagios nagios 13 8月 4 10:20 /tmp/traffic_ifem1
-rw-rw-r-- 1 root root 33 8月 4 10:40 /tmp/traffic_ifem2
因为 /tmp/traffic_ifem2 文件的属性是root,所以新生成的文件无法覆盖,导致程序报错。
删除 /tmp/traffic_ifem2 重新运行 su - nagios -c "/usr/local/sy/nagios/libexec/check_uptraffic -i em2 -w 90 -c 95 -b 1000 -u m" 正常
服务器端测试,/usr/local/sy/nagios/libexec/check_nrpe -H IP -c check_em2 -p 5667,正常。
阅读(922) | 评论(0) | 转发(0) |