Try this one again
[mirror/dsa-nagios.git] / dsa-nagios-checks / checks / dsa-check-hpasm
index 63505f3..0f008e1 100755 (executable)
@@ -112,6 +112,11 @@ sub do_fans {
       $num_fans++;
       my @line = split /\s+/, $line;
 
+      if ($line[1] eq 'VIRTUAL') { # blade, etc
+        $message = 'FAN1: (virtual) OK ';
+        last;
+      }
+
       if ($line[2] ne 'Yes') {
         $message = sprintf("FAN%d: status=%s ", $fan_num, $line[2]);
         $exit_status |= 2;
@@ -217,13 +222,15 @@ sub do_temp {
       next if ($threshold eq '-');
       $num_temp++;
 
-      my $off = $threshold - $current_temp;
-      if ($off <= 0) {
-        $message = sprintf("TEMP zone=%s %sC/%sC ", $zone, $current_temp, $threshold);
-        $exit_status |= 2;
-      } elsif ($off < ($threshold/10)) {
-        $message = sprintf("TEMP zone=%s %sC/%sC ", $zone, $current_temp, $threshold);
-        $exit_status |= 1;
+      if ($current_temp ne '-') {
+        my $off = $threshold - $current_temp;
+        if ($off <= 0) {
+          $message = sprintf("TEMP zone=%s %sC/%sC ", $zone, $current_temp, $threshold);
+          $exit_status |= 2;
+        } elsif ($off < ($threshold/10)) {
+          $message = sprintf("TEMP zone=%s %sC/%sC ", $zone, $current_temp, $threshold);
+          $exit_status |= 1;
+        }
       }
     } elsif ($line =~ /($prompt|^\s*$)/) {
       last;