===================================================================
RCS file: /cvs/nagios/check_hw_sensors/check_hw_sensors,v
retrieving revision 1.35
retrieving revision 1.38
diff -u -r1.35 -r1.38
--- nagios/check_hw_sensors/check_hw_sensors 2009/11/10 23:15:15 1.35
+++ nagios/check_hw_sensors/check_hw_sensors 2009/11/11 18:08:41 1.38
@@ -1,5 +1,5 @@
#!/usr/bin/perl -T
-# $RedRiver: check_hw_sensors,v 1.34 2009/11/10 23:12:49 andrew Exp $
+# $RedRiver: check_hw_sensors,v 1.37 2009/11/10 23:41:12 andrew Exp $
########################################################################
# check_hw_sensors *** A nagios check for OpenBSD sysctl hw.sensors
#
@@ -29,7 +29,13 @@
use POSIX;
use Config;
-use lib '/usr/local/libexec/nagios';
+my $PREFIX;
+BEGIN {
+ ## no critic 'warnings'
+ no warnings 'uninitialized';
+ $PREFIX = "${PREFIX}" || '/usr/local'; # Magic for OpenBSD ports tree
+}
+use lib $PREFIX . '/libexec/nagios';
use utils qw($TIMEOUT %ERRORS &support);
use Getopt::Long;
@@ -69,7 +75,7 @@
}
if ($opt_V) {
- print_revision( $PROGNAME, '$Revision: 1.35 $ ' );
+ print_revision( $PROGNAME, '$Revision: 1.38 $ ' );
exit $ERRORS{'OK'};
}
@@ -130,9 +136,8 @@
}
$CHECK_SENSOR = $SENSOR;
- $CHECKS{$SENSOR}{'warn'} = $WARNING;
- $CHECKS{$SENSOR}{'crit'} = $CRITICAL;
-
+ $CHECKS{$SENSOR}{'warn'} = $WARNING if $WARNING;
+ $CHECKS{$SENSOR}{'crit'} = $CRITICAL if $CRITICAL;
}
elsif ( defined $FILENAME ) {
%CHECKS = read_file($FILENAME);
@@ -144,21 +149,22 @@
my $have_results = 0;
$state = 'OK';
-foreach my $error ( sort { $ERRORS{$b} <=> $ERRORS{$a} } keys %ERRORS ) {
+foreach
+ my $error ( reverse sort { $ERRORS{$a} <=> $ERRORS{$b} } keys %ERRORS )
+{
if ( exists $STATES{$error} ) {
$have_results++;
$state = $error if $ERRORS{$state} < $ERRORS{$error};
if ($NAGIOS_OUTPUT) {
- print "$error (" . scalar( @{ $STATES{$error} } ) . ")";
+ print $error . ' (' . scalar( @{ $STATES{$error} } ) . ')';
if ( $error ne 'OK' ) {
- s/\s+/ /gxms;
print '
';
- print map {" - $_
"} @{ $STATES{$error} };
+ print map { s/\s+//xms; " - $_
" } @{ $STATES{$error} };
}
}
else {
- print "$error (" . scalar( @{ $STATES{$error} } ) . "):\n";
+ print $error . ' (' . scalar( @{ $STATES{$error} } ) . "):\n";
foreach ( @{ $STATES{$error} } ) {
print " $_\n";
}
@@ -324,7 +330,7 @@
$r = check_sensor( $sensor, $C->{ $sensor->{id} } );
$data = $sensor->{id} . '=' . $sensor->{output};
}
- elsif ( !$O->{ignore_status} && $sensor->{status} ) {
+ elsif ( $sensor->{status} && !$O->{IGNORE_STATUS} ) {
$r = check_sensor( $sensor, { STATUS => 1 } );
$data = $sensor->{id} . '=' . $sensor->{output};
}
@@ -398,14 +404,14 @@
}
foreach my $code ( 'warn', 'crit' ) {
- if ( defined $check->{ $code . ".low" }
- || defined $check->{ $code . ".high" } )
+ if ( defined $check->{ $code . '.low' }
+ || defined $check->{ $code . '.high' } )
{
- if (( defined $check->{ $code . ".low" }
- && $check->{ $code . ".low" } >= $data
+ if (( defined $check->{ $code . '.low' }
+ && $check->{ $code . '.low' } >= $data
)
- || ( defined $check->{ $code . ".high" }
- && $check->{ $code . ".high" } <= $data )
+ || ( defined $check->{ $code . '.high' }
+ && $check->{ $code . '.high' } <= $data )
)
{
$result = $errors{$code};
@@ -418,7 +424,7 @@
my $c = $_;
$c =~ s/[^\d\.]//gxms;
if ( !length $c ) {
- warn "INVALID CHECK (" . $_ . ") for '$code'\n";
+ warn "INVALID CHECK ($_) for '$code'\n";
next;
}
@@ -529,7 +535,7 @@
EOL
- print_revision( $PROGNAME, '$Revision: 1.35 $' );
+ print_revision( $PROGNAME, '$Revision: 1.38 $' );
print $LICENSE;