jimbass has asked for the wisdom of the Perl Monks concerning the following question:
I would think since the snmpwalk on a radio that doesn't exist timesout, the $score variable should either be null or 0, either of which should trigger either the unknown or critical conditions, or the whole script should exit with exit code 5. As I found today, with the radio unreachable and the snmpwalk timing out, this script still exits with an exit code of 0, indicating all is well.#!/usr/bin/perl -w use strict; my $radio = $ARGV[0]; my $warnrate = $ARGV[1]; my $critrate = $ARGV[2]; if ($critrate <= $warnrate) { open DATA, "/usr/bin/snmpwalk -v1 -c public $radio .1.3.6.1.4.1.5454.1 +.40.2.4.0|" or die "Failed: $!\n"; while ( defined( my $line = <DATA> ) ) { my @values = split(' ', $line); my $score = $values[3]; close DATA; if ($score > $warnrate) { print "OK, rf is $score. \|Mbps=$score\n"; exit 0 } elsif (($score <= $warnrate) && ($score > $critrate)) { print "WARNING, rf is $score. \|Mbps=$score\n"; exit 1 } elsif ($score <= $critrate) { print "CRITICAL, rf is $score. \|Mbps=$score\n"; exit 2 } else { print "UNKNOWN, rf is $score and something is wrong.\n"; exit 3 } } } else { print "Make sure your critical value is less than or equal to your war +ning value.\n"; exit 5}
I'd apprecaite any insight folks can provide into what I've done wrong here.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: What did I miss in my test condition?
by hbm (Hermit) on Aug 10, 2012 at 23:15 UTC | |
by jimbass (Novice) on Aug 11, 2012 at 05:42 UTC | |
by hbm (Hermit) on Aug 13, 2012 at 00:53 UTC | |
|
Re: What did I miss in my test condition?
by DrHyde (Prior) on Aug 14, 2012 at 10:55 UTC |