我已经在服务器上安装了Nagios和Oracle sqlplus客户端。Sqlplus运行需要的环境变量很少,所以我在/etc/profile
中添加了exports。
作为根用户登录设置变量正确,作为用户登录nagios设置也可以,但当我从nagios web界面运行一些检查时(这些检查是用bash编写的),它们以错误Error: Empty result from sqlplus. Check plugin settings and Oracle status.
结束当我以root或nagios用户身份从终端运行这些检查时,一切正常,这就是我如何发现问题出在环境变量中。
我发现这是nagios的一个bug,你可以从这个链接查看文档。
您将在文件/etc/init.d/nagios
中找到此代码。
# Load any extra environment variables for Nagios and its plugins
if test -f /etc/sysconfig/nagios; then
. /etc/sysconfig/nagios
fi
只需在Fedora或rhel的/etc/sysconfig/
路径上创建文件nagios
,并添加所需的额外变量。在案例。
[root@server sysconfig]# cat nagios
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
就是这样。
敬祝Marco。
与Marco之前提到的NRPE问题相同。
你必须在/etc/sysconfig/nrpe中添加环境变量,然后你必须重新启动nrpe: service nrpe restart
谢谢优素福