在ubuntu 14.04 系统探索部署 nagios nrdp 插件过程中,遇到如下问题?
测试 http: ip /nrdp/ 提交结果的页面中,总是报如下错误:
<result> <status>-1</status> <message>BAD COMMAND FILE</message> </result> <result> <status>-1</status> <message>BAD CHECK RESULTS DIR</message> </result>
“BAD COMMAND FILE” “BAD CHECK RESULTS DIR” 开发者定义的这两条运行错误提示信息,语义解偏差很大,弄了两天依然无头绪, 无奈之下只能在阅读插件的源码,分别找到了源码中的位置,现在把报错信息出处的调用的函数写成两个测试脚本
test_file_exists.php <?php $result=file_exists("/var/lib/nagios3/spool/checkresults","c"); print $result."\n\r"; ?> test_tempnam.php <?php $tmpname=tempnam("/var/lib/nagios3/spool/checkresults","c"); print $tmpname."\n\r"; ?>
分别以nagios www-data 用户身份执行,会返回不同的结果,插件不能工作的正常原因就这里,请读者自行验证,!
sudo -u nagios test_tempnam.php sudo -u nagios test_file_exists.php sudo -u www-data test_tempnam.php sudo -u www-data test_file_exists.php
最后给出一个临时解决办法,更改apache服务的运行用户
vim /etc/apache2/envvars export APACHE_RUN_USER=nagios export APACHE_RUN_GROUP=nagios
最后测试一切OK
主机检测发送结果
python send_nrdp.py –url=http://10.2.0.191/server/ –token=“[email protected]&d” –host=localhost –state=0 –output=“ok ok ok”
服务检测发送结果
python send_nrdp.py –url=http://10.2.0.191/server/ –token=“[email protected]&d” –host=localhost –service=check_disk_passive –state=0 –output=“ok ok ok”
时间: 2024-10-17 17:30:25