[Nagiosplug-devel] Nagios execution environment : problem loading libs while executing custom plugin.

Guillaume Tessier infogerance-admin4.arsit-idf at justice.gouv.fr
Sun Dec 7 10:34:53 CET 2008


Hi!

Thanks for replying!

Yes, i already did set up the shell environment properly (actually in 
/etc/profile).
I just did the test you adviced : user a shell script to launch the 
python script. But it is exactly the same behaviour.

i ask the program to display the environment variables (print os.environ) :
- when lauched from the command line, the python script (and the shell 
script) returns me exactly the same variable than the shell. I can even 
set up new variables (os.environ["TESTVAR2"]="blibli") and it display fine.

---- output ----
{'LANG': 'fr_FR at euro', 'TERM': 'xterm', 'SHELL': '/bin/sh', 
'ORACLE_HOME': '/opt/oracle/product/10.2.0/client_1', 'SHLVL': '2', 
'ORACLE_BASE': '/opt/oracle', 'TESTVAR2': 'blibli', 'PWD': 
'/home/www-data', 'LOGNAME': 'www-data', 'USER': 'www-data', 'MAIL': 
'/var/mail/www-data', 'PATH': 
'/opt:/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/oracle/product/10.2.0/client_1/bin', 
'HOME': '/home/www-data', 'LD_LIBRARY_PATH': 
'/opt/oracle/product/10.2.0/client_1/lib', '_': 
'/usr/local/nagios/libexec/dbRequest.py'}
---------------
You can even see the variable TESTVAR2 that i set in the python script.....


- when lauched from Nagios, the python script (and the shell script) 
returns me this stuff :
 {'NAGIOS_SERVICEDOWNTIME': '0', 'NAGIOS_HOSTDURATIONSEC': '3956006', 
'NAGIOS_SERVICEGROUPNAME': '', 'NAGIOS_SERVICEACKCOMMENT': '', 
'NAGIOS_DATE': '07-12-2008', 'NAGIOS_CONTACTPAGER': '', 
'NAGIOS_HOSTACKAUTHOR': '', 'NAGIOS_RESOURCEFILE': 
'/usr/local/nagios/etc/resource.cfg', 'NAGIOS_LASTHOSTUNREACHABLE': '0', 
'SHELL': '/bin/sh'

I don't know where it gets that from....

Wait!!!
I just performed a test while writing. This confirm my fears...
I just create a new command that just launch a shell script. The shell 
script just echo an environment variable.
when echoing $PATH, i get this frim nagios : 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

This is different than the shell environment PATH variable set in 
/etc/profile : 
PATH=/opt:/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/oracle/product/10.2.0/client_1/bin

The best : if i try to echo $ORACLE_HOME, guess what?..... "no output"!!!!

Those tests really show that some setting completely substitutes its own 
environment variables to those from the shell.....


WAIT AGAIN!!!!
Amazing : if i restart the /etc/init.d/nagios then things go ok!
But if i reboot the machine (/etc/init.d/nagios is in the runlevel 
scripts) then it fails back!!!!

There is really something going strange with nagios executing environment!!!


If you have any idea about it!!! I'll look in the init script if it has 
something special....

Guillaume 



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nagios-plugins.org/archive/devel/attachments/20081207/979ecf16/attachment.html>


More information about the Devel mailing list