Return code of 9 is out of bounds when plugin is run in nagios, but return code is 0 when run from shell
Samuel Kidman
Samuel.Kidman at panres.com
Thu Sep 8 09:52:05 CEST 2011
Hello
I am having an issue with a plugin I just wrote where the Nagios says
the return code is 9. If I do the following:
lnm at PR-LNM-CR-NAG01:/usr/local/nagios/libexec$ sudo -u nagios
./check_snmp_mw_local_rx_power.pl --hostname 192.168.27.140
--rocommunity EMSOLUTIONS --snmp-version 1
CHECK_RX_POWER OK - Local RX Power OK (-47.5dBm),
|'local_RX_Power'=-47.5;-67;-100;;
lnm at PR-LNM-CR-NAG01:/usr/local/nagios/libexec$ echo $?
0
It suggests the return code is 0.
I have disabled the embedded perl interpreter.
Can anyone tell what is going wrong?
Plugin source code below:
#!/usr/bin/perl
=pod
=head1 NAME
Name of plugin and a sentence explaining function
-head2 SYNOPSIS
Detailed explanation of what the check does, any caveats, etc.
=cut
sub check_snmp_mw_rx_power {
use strict;
use FindBin;
use RRDs;
use lib "$FindBin::Bin/lib";
use lib "/usr/local/nagios/perl/lib";
use Nagios::Plugin::SNMP;
use Nenm::Utils;
my $USAGE = <<EOF;
EOF
my $LABEL = 'CHECK_RX_POWER';
my $plugin = Nagios::Plugin::SNMP->new(
'shortname' => $LABEL,
'usage' => $USAGE
);
$plugin->add_arg(
spec => 'warning|w=s',
help => "-w, --warning=INTEGER:INTEGER\n" .
"Minimum and maximum number of allowable result, outside of
which a warning will be generated.\n",
default => -67
);
$plugin->add_arg(
spec => 'critical|c=s',
help => "-c, --critical=INTEGER:INTEGER\n" .
"Minimum and maximum number of allowable result, outside of
which a critical will be generated.\n",
default => -100
);
$plugin->add_arg(
spec => 'host|H=s',
help => "-H, --host=STRING\n" .
"IP address of Host to check\n"
);
#example add_arg
# $plugin->add_arg(
# 'spec' => 'interface|i=s',
# 'help' => "--interface, -i: Name of the interface to use; use
the\n" .
# " description as returned by
ifDescr.\n",
# 'required' => 0,
# 'default' = 'eth0/0'
# );
#add arguments here
$plugin->getopts;
my $critical = $plugin->opts->critical;
my $warning = $plugin->opts->warning;
my $message;
my $perfdata;
my $LocalRXPower_OID = '.1.3.6.1.4.1.10132.9.1.4.12.0';
my $LocalRXPower;
my $local_return;
my $result = $plugin->get($LocalRXPower_OID);
$LocalRXPower = $result->{$LocalRXPower_OID} / 10;
if ($LocalRXPower < $critical)
{
$message = "CRITICAL: Local RX Power to low to maintain link.
(${LocalRXPower}dBm), ";
$local_return = 2;
}
elsif ($LocalRXPower < $warning)
{
$message = "WARNING: Local RX Power to low to maintain 32-QAM
Modulation. (${LocalRXPower}dBm), ";
$local_return = 1;
}
else
{
$message = "Local RX Power OK (${LocalRXPower}dBm), ";
$local_return = 0;
}
$perfdata = "'local_RX_Power'=$LocalRXPower;$warning;$critical;;";
$plugin->nagios_exit($local_return, $message . "|" . $perfdata);
}
exit check_snmp_mw_rx_power();
Sam Kidman
IT Support Officer
--------------------------
T: 08 9225 0944
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/users/attachments/20110908/32d65211/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 18659 bytes
Desc: image001.jpg
URL: <https://www.monitoring-lists.org/archive/users/attachments/20110908/32d65211/attachment.jpg>
-------------- next part --------------
------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops? How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
-------------- next part --------------
_______________________________________________
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
More information about the Users
mailing list