===================================================================
RCS file: /cvs/nagios/check_hw_sensors/check_hw_sensors,v
retrieving revision 1.4
retrieving revision 1.7
diff -u -r1.4 -r1.7
--- nagios/check_hw_sensors/check_hw_sensors 2006/05/02 16:54:42 1.4
+++ nagios/check_hw_sensors/check_hw_sensors 2006/05/02 21:03:53 1.7
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# $RedRiver: check_hw_sensors,v 1.3 2006/05/02 01:39:23 andrew Exp $
+# $RedRiver: check_hw_sensors,v 1.6 2006/05/02 19:59:47 andrew Exp $
########################################################################
# check_hw_sensors *** A nagios check for OpenBSD hw.sensors
#
@@ -65,7 +65,7 @@
}
if ($opt_V) {
- print_revision($PROGNAME,'$Revision: 1.4 $ ');
+ print_revision($PROGNAME,'$Revision: 1.7 $ ');
exit $ERRORS{'OK'};
}
@@ -148,17 +148,28 @@
#print Dumper \%states;
$state = 'OK';
-if (NAGIOS_OUTPUT) {
+my $have_results = 0;
+foreach my $error (sort { $ERRORS{$a} <=> $ERRORS{$b} } keys %ERRORS) {
+ if (exists $states{$error}) {
+ $have_results++;
+ $state = $error;
+ }
+}
+if (NAGIOS_OUTPUT && $have_results) {
print '
';
}
foreach my $error (sort { $ERRORS{$b} <=> $ERRORS{$a} } keys %ERRORS) {
if (exists $states{$error}) {
if (NAGIOS_OUTPUT) {
- print "- $error (" . scalar(@{ $states{ $error } }) . "):
";
- foreach (@{ $states{ $error } }) {
- print "- $_
";
+ print "- $error (" . scalar(@{ $states{ $error } }) . ")";
+ unless ($error eq 'OK') {
+ print '
';
+ foreach (@{ $states{ $error } }) {
+ print "- $_
";
+ }
+ print '
';
}
- print "
"
+ print ""
} else {
print "$error (" . scalar(@{ $states{ $error } }) . "):\n";
foreach (@{ $states{ $error } }) {
@@ -167,14 +178,12 @@
}
}
}
-if (NAGIOS_OUTPUT) {
+if ($have_results == 0) {
+ print "No results found\n";
+}
+if (NAGIOS_OUTPUT && $have_results) {
print '
' . "\n";
}
-foreach my $error (sort { $ERRORS{$a} <=> $ERRORS{$b} } keys %ERRORS) {
- if (exists $states{$error}) {
- $state = $error;
- }
-}
exit $ERRORS{$state};
@@ -299,7 +308,7 @@
foreach my $c (@{ $check->{$code} }) {
$c =~ s/[^\d\.]//g;
unless (length $c) {
- warn "INVALID CHECK (" . $check->{$code} .
+ warn "INVALID CHECK (" . $c .
") for '$sensor->{'id'}:$code'";
next;
}
@@ -377,7 +386,7 @@
$c =~ s/[^\d\.]//g;
unless (length $c) {
- warn "INVALID CHECK (" . $check->{$code} .
+ warn "INVALID CHECK (" . $c .
") for '$sensor->{'id'}':$code";
next;
}
@@ -445,6 +454,6 @@
EOL
- print_revision($PROGNAME, '$Revision: 1.4 $');
+ print_revision($PROGNAME, '$Revision: 1.7 $');
}