X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-hpasm;h=fc98866d3d2e3bd23b015a694cd3cee9e8914836;hb=59807a3f3ff8398c5d6d0a35d7e7aeb4c5eeca18;hp=ee5ec8b0ffec6aec7f78e6876509e86a7606b85b;hpb=f227753c26cca70535aa7fd360dbcd3019bd9b1b;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-hpasm b/dsa-nagios-checks/checks/dsa-check-hpasm index ee5ec8b..fc98866 100755 --- a/dsa-nagios-checks/checks/dsa-check-hpasm +++ b/dsa-nagios-checks/checks/dsa-check-hpasm @@ -47,15 +47,19 @@ my %callbacks = ( my $params = {}; +my $USAGE = "PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant] [--fan-no-redundant] [--fan-high] [--dimm-na]\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'}, + '--dimm-na' => \$params->{'dimm-na'}, )) { - 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); }; @@ -80,7 +84,8 @@ sub do_dimm { if ($line =~ /(^\s*$|-----)/) { if ($in_block) { - if ($status ne 'Ok') { + unless (($status eq 'Ok') || + ($params->{'dimm-na'} && $status eq 'N/A')) { $message = sprintf("DIMM%d: %s ", $dimm_num, $status); $exit_status |= 2; } @@ -141,10 +146,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;