if merikanto is going to be syncproxy it needs rsync and therefore xinetd
[mirror/dsa-nagios.git] / dsa-nagios-checks / checks / dsa-check-hpasm
index ee5ec8b..83f2ae6 100755 (executable)
@@ -47,15 +47,18 @@ my %callbacks = (
 
 my $params = {};
 
+my $USAGE = "PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant] [--fan-no-redundant] [--fan-high]\n";
 Getopt::Long::config('bundling');
 if (!GetOptions (
         '--help'                => \$params->{'help'},
         '--ps-no-redundant'     => \$params->{'ps-no-redundant'},
+        '--fan-no-redundant'    => \$params->{'fan-no-redundant'},
+        '--fan-high'            => \$params->{'fan-high'},
         )) {
-        die ("$PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant]\n");
+        die ("$USAGE");
 };
 if ($params->{'help'}) {
-        print "$PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant]\n";
+        print "$USAGE";
         print "Checks hp hardware health.\n";
         exit (0);
 };
@@ -141,10 +144,10 @@ sub do_fans {
         $exit_status |= 2;
       } elsif ($line[3] ne 'NORMAL') {
         $message = sprintf("FAN%d: speed=%s ", $fan_num, $line[3]);
-        $exit_status |= 1;
+        $exit_status |= 1 unless ($line[3] eq 'HIGH' && $params->{'fan-high'});
       } elsif ($line[5] ne 'Yes') {
         $message = sprintf("FAN%d: redundant=%s ",$fan_num, $line[5]);
-        $exit_status |= 1;
+        $exit_status |= 1 unless ($params->{'fan-no-redundant'});
       }
     } elsif ($line =~ /($prompt|^\s*$)/) {
       last;