===================================================================
RCS file: /cvs/nagios/check_hw_sensors/check_hw_sensors,v
retrieving revision 1.35
retrieving revision 1.37
diff -u -r1.35 -r1.37
--- nagios/check_hw_sensors/check_hw_sensors 2009/11/10 23:15:15 1.35
+++ nagios/check_hw_sensors/check_hw_sensors 2009/11/10 23:41:12 1.37
@@ -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.36 2009/11/10 23:26:13 andrew Exp $
########################################################################
# check_hw_sensors *** A nagios check for OpenBSD sysctl hw.sensors
#
@@ -69,7 +69,7 @@
}
if ($opt_V) {
- print_revision( $PROGNAME, '$Revision: 1.35 $ ' );
+ print_revision( $PROGNAME, '$Revision: 1.37 $ ' );
exit $ERRORS{'OK'};
}
@@ -130,9 +130,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 +143,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 +324,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 +398,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 +418,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 +529,7 @@
EOL
- print_revision( $PROGNAME, '$Revision: 1.35 $' );
+ print_revision( $PROGNAME, '$Revision: 1.37 $' );
print $LICENSE;