I guess the question is how to unload the perl package that the plugin is wrapped in.
---- Larry Low 4150 N Drinkwater Blvd., 5th Floor Scottsdale, AZ 85251 E-mail: [EMAIL PROTECTED]' Telesphere Networks, Inc -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Larry Low Sent: Friday, October 12, 2007 10:44 AM To: nagios-users@lists.sourceforge.net Subject: Re: [Nagios-users] Nagios 3.0b5 - ePN and perl caching [SEC=UNCLASSIFIED] I had been compiling without perl cache so that would explain why $delete was being set to 1. The problem must be in getting rid of the old cached script. I am digging deeper. ---- Larry Low 4150 N Drinkwater Blvd., 5th Floor Scottsdale, AZ 85251 E-mail: [EMAIL PROTECTED]' Telesphere Networks, Inc -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Larry Low Sent: Friday, October 12, 2007 10:13 AM To: nagios-users@lists.sourceforge.net Subject: Re: [Nagios-users] Nagios 3.0b5 - ePN and perl caching [SEC=UNCLASSIFIED] Thanks Stanley, Using my check_ifoperstatus script. Available from http://www.nagiosexchange.org/Networking.53.0.html?&tx_netnagext_pi1[p_view] =1099 I've done a few minutes of debugging and the first problem I see is the MTIME is not being populated. Here is my epn_leave-msgs.log. I added print LH "$filename - $mtime = ".$Cache{$filename}[MTIME]."\n"; while (my ($key,$value) = each %Cache) { foreach (@$value) { print LH "$key - $_\n"; } } right before it compares mtime and you will see below that MTIME is not populated. I also added a couple logs where MTIME is supposed to be set. print LH "$mtime "; $Cache{$filename}[MTIME] = $mtime unless $delete ; print LH $Cache{$filename}[MTIME]."\n"; You will see below that $mtime is fine but $Cache{$filename}[MTIME] is not. I changed $Cache{$filename}[MTIME] = $mtime unless $delete ; to $Cache{$filename}[MTIME] = $mtime; and the problem goes away. I tested for $delete and it is being set to 1 every time. What is calling eval_file? Is this from the nagios core? ************** epn_leave-msgs.log /opt/nagios/libexec/check_ifoperstatus.pl - 2.96796296296296 = 2.96796296296296 Fri Oct 12 10:00:29 2007 eval_file: successfully compiled "/opt/nagios/libexec/check_ifoperstatus.pl -H XXXX -C XXXX -k 0 -I -N Gi0/0 --cacti_database=cacti_2 --cacti_password=XXXX". Fri Oct 12 10:00:29 2007 run_package: "/opt/nagios/libexec/check_ifoperstatus.pl -H XXXX -C XXXX -k 0 -I -N Gi0/0 --cacti_database=cacti_2 --cacti_password=XXXX" returning (0, "OK - Interface 'Gi0/0' is 'up(1)' - (index 1)"). /opt/nagios/libexec/check_ifoperstatus.pl - 2.96796296296296 = /opt/nagios/libexec/check_ifoperstatus.pl - /opt/nagios/libexec/check_ifoperstatus.pl - HASH(0x9267264) /opt/nagios/libexec/check_ifoperstatus.pl - /opt/nagios/libexec/check_ifoperstatus.pl - CODE(0x9276778) 2.96796296296296 Fri Oct 12 10:00:59 2007 eval_file: syntax error in /opt/nagios/libexec/check_ifoperstatus.pl: "Subroutine print_help redefined at (eval 9) line 295,". ************** <Stanley.Hopcroft <at> Dest.gov.au> writes: > > Dear Larry, > > There are debugging hooks in p1.pl that would be useful to enable. > > If you are interested in helping deal with this problem please would you > > 1 Back up your original copy of p1.pl (path is specified in nagios.cfg > IIRC) > > 2 Change the DEBUG_LEVEL to > > use constant DEBUG_LEVEL => LEAVE_MSG | CACHE_DUMP ; > > 3 Change the DEBUG_LOG_PATH to something appropriate for your system eg > > use constant DEBUG_LOG_PATH => '/tmp/' ; > > 4 Make p1.pl still compiles (perl -c p1.pl should be nag free; $? == 0) > > 5 Restart Nagios > > (IIRC, all this is documented in POD format in p1.pl, so perldoc p1.pl > should show > > ... blah blah > > Extra logging is given by setting DEBUG_LEVEL to include > > LEAVE_MSG > > 1 opens an extra output stream in the path given by the value of > DEBUG_LOG_PATH > > 2 logs messages describing the success or otherwise of the plugin > com- > pilation and the result of the plugin run. > > An example of such messages are > > Fri Apr 22 11:54:21 2005 eval_file: successfully compiled > "/usr/local/nagios/libexec/check_bass ". > Fri Apr 22 11:54:21 2005 run_package: > "/usr/local/nagios/libexec/check_bass " returning ("0", "BASS > Transaction completed Ok. > > "). > Fri Apr 22 11:55:02 2005 eval_file: successfully compiled > "/usr/local/nagios/libexec/check_ad -D production.prod -S". > > Fri Apr 22 11:55:02 2005 run_package: > "/usr/local/nagios/libexec/check_ad -D foo.dom -S" returning ("0", "Ok. > Expected 2 domain controllers [foo1 foo2] for "foo.dom.prod" domain from > "1.1.2.3" DNS, found 8 [foo1 foo2 ..] > > "). > > .. blah blah > ) > > In my case I see > > [root <at> acisp057 bin]# perl -c p1.pl > p1.pl syntax OK > [root <at> acisp057 bin]# diff -c p1.pl.orig p1.pl > *** p1.pl.orig 2007-10-12 14:09:24.000000000 +1000 > --- p1.pl 2007-10-12 14:09:56.000000000 +1000 > *************** > *** 10,22 **** > use constant CACHE_DUMP => 2 ; > use constant PLUGIN_DUMP => 4 ; > > ! use constant DEBUG_LEVEL => 0 ; > # use constant DEBUG_LEVEL => CACHE_DUMP ; > # use constant DEBUG_LEVEL => LEAVE_MSG ; > ! # use constant DEBUG_LEVEL => LEAVE_MSG | > CACHE_DUMP ; > # use constant DEBUG_LEVEL => LEAVE_MSG | > CACHE_DUMP | PLUGIN_DUMP ; > > ! use constant DEBUG_LOG_PATH => '/usr/local/nagios/var/' ; > # use constant DEBUG_LOG_PATH => './' ; > use constant LEAVE_MSG_STREAM => DEBUG_LOG_PATH . > 'epn_leave-msgs.log' ; > use constant CACHE_DUMP_STREAM => DEBUG_LOG_PATH . > 'epn_cache-dump.log' ; > --- 10,22 ---- > use constant CACHE_DUMP => 2 ; > use constant PLUGIN_DUMP => 4 ; > > ! # use constant DEBUG_LEVEL => 0 ; > # use constant DEBUG_LEVEL => CACHE_DUMP ; > # use constant DEBUG_LEVEL => LEAVE_MSG ; > ! use constant DEBUG_LEVEL => LEAVE_MSG | CACHE_DUMP ; > # use constant DEBUG_LEVEL => LEAVE_MSG | > CACHE_DUMP | PLUGIN_DUMP ; > > ! use constant DEBUG_LOG_PATH => '/tmp/' ; > # use constant DEBUG_LOG_PATH => './' ; > use constant LEAVE_MSG_STREAM => DEBUG_LOG_PATH . > 'epn_leave-msgs.log' ; > use constant CACHE_DUMP_STREAM => DEBUG_LOG_PATH . > 'epn_cache-dump.log' ; > > and > > [root <at> acisp057 nagios]# more /tmp/epn_leave-msgs.log > Fri Oct 12 14:17:08 2007 eval_file: successfully compiled > "/usr/lib/nagios/plugins/check_sysUpTime -R 10.208.1.254". > Fri Oct 12 14:17:08 2007 run_package: > "/usr/lib/nagios/plugins/check_sysUpTime -R 10.208.1.254" returning (0, > "sysUpTime of router 1 > > 0.208.1.254 is 231 days, 18:14:31.55"). > Fri Oct 12 14:17:17 2007 eval_file: > /usr/lib/nagios/plugins/check_sysUpTime already successfully compiled > and file has not changed; > > skipping compilation. > Fri Oct 12 14:17:17 2007 run_package: > "/usr/lib/nagios/plugins/check_sysUpTime -R 10.36.103.254" returning (0, > "sysUpTime of router > > 10.36.103.254 is 269 days, 00:03:26.48"). > Fri Oct 12 14:17:22 2007 eval_file: successfully compiled > "/usr/lib/nagios/plugins/check_backuplinks -N "BRUSW200"". > Fri Oct 12 14:17:22 2007 run_package: > "/usr/lib/nagios/plugins/check_backuplinks -N "BRUSW200"" returning (0, > "Ok. All links from br > > usw200/10.0.254.167 to mtasw200 via Etherchannel _are_ in "up" > operational status. Redundant topology Ok."). > [root <at> acisp057 nagios]# > > Unfortch, although the log stream should be unbuffered, it wasn't being > flushed while Nag was running. I had to restart Nag again to > > get the messages flushed (when I changed the path for the log messages). > > You prob should ensure that the problem plugin is scheduled frequently > (eg each 5 mins) and let it run for about 5 check periods. > > Please post the results to the list. > > Thank you, > > Yours sincerely. > > Stanley Hopcroft > > Data Communications > > 02 6211 6110 > 0412 766 832 > > Classification: UNCLASSIFIED > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Nagios-users mailing list > Nagios-users <at> lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/nagios-users > ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. > ::: Messages without supporting info will risk being sent to /dev/null > > ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Nagios-users mailing list Nagios-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nagios-users ::: Please include Nagios version, plugin version (-v) and OS when reporting any issue. ::: Messages without supporting info will risk being sent to /dev/null