[Nagiosplug-help] retrieve (Storable) can not open files
Ingo Lantschner
ingo.lists at vum.at
Tue Apr 24 22:11:27 CEST 2007
Hi,
writing a script for someone who uses Nagios 2.7 I used the Perl-
module Storable to save a hash to disk (it's the config of a FC-
switch) in order to have a reference for further checks. Using this
plugin from the commandline is ok:
# su - nagios
$ /usr/lib/nagios/plugins/check_fabric.pl --host=1.2.3.4
OK - no change in config since <filedate>
But in Nagios I get: CRITICAL - (No output!)
Only after I put the path for saving the config-hashes onto a
directory one level above the homedir of Nagios, the check worked
also, when called from within Nagios.
So I see two questions:
1. What's the difference between calling a check from the command-
line (as nagios, with "su -" before) compared to calling it as Nagios-
daemon.
2. Any idea, how this can happen?
For completeness: It must have to do with the retrieve-command from
Perl::Storable, since:
...some code ...
exit 3;
my $config = retrieve($filename);
... some more code ...
returns UNKNOWN (No output!)
But
... some code ...
my $config = retrieve($filename);
if (!defined $config) { exit 3}
print "Blabla after retrieve";
exit 3;
... some more code ...
returns CRITICAL (No output!)
So somehow retrieve kills the program depending on where the files
are located.
Homedir of nagios: /nfs-storage/nagios2/home/ (not ok to store files
there, if check run from within Nagios)
This dir worked for storing the files, even when the script was
called from within Nagios: /nfs-storage/nagios2/
TIA for any hint, Ingo.
--
Ingo Lantschner
Vienna/Austria
Mob (+43-664) 143 84 18
More information about the Help
mailing list