X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-hpasm;h=e4582833e074bb39ceba1284918faa04a0c4a51b;hb=b1377ef7037a2ca597f830df3b5c993be560e842;hp=83f2ae68a8d7367dae2ba59c7635f60876ad6f95;hpb=65f5eda071333458bccafc11ff63e697fd19ac9d;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-hpasm b/dsa-nagios-checks/checks/dsa-check-hpasm index 83f2ae6..e458283 100755 --- a/dsa-nagios-checks/checks/dsa-check-hpasm +++ b/dsa-nagios-checks/checks/dsa-check-hpasm @@ -9,6 +9,7 @@ use Getopt::Long; # requires hpasmcli # Copyright (c) 2009 Stephen Gran +# Copyright (c) 2009,2010,2012 Peter Palfrader # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -47,13 +48,15 @@ my %callbacks = ( my $params = {}; -my $USAGE = "PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant] [--fan-no-redundant] [--fan-high]\n"; +my $USAGE = "PROGRAM_NAME: Usage: $PROGRAM_NAME [--help] [--ps-no-redundant] [--fan-no-redundant] [--fan-high] [--dimm-na] [--fan-ignore-not-present]\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'}, + '--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'}, + '--fan-ignore-not-present' => \$params->{'fan-ignore-not-present'}, )) { die ("$USAGE"); }; @@ -83,7 +86,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,7 +145,7 @@ sub do_fans { if ($line[2] ne 'Yes') { $message = sprintf("FAN%d: status=%s ", $fan_num, $line[2]); - $exit_status |= 2; + $exit_status |= 2 unless ($params->{'fan-ignore-not-present'}); } elsif ($line[3] ne 'NORMAL') { $message = sprintf("FAN%d: speed=%s ", $fan_num, $line[3]); $exit_status |= 1 unless ($line[3] eq 'HIGH' && $params->{'fan-high'}); @@ -282,7 +286,7 @@ for my $line (@output) { } if ($exit_status & 2) { - print "CRTICAL: $ret\n"; + print "CRITICAL: $ret\n"; exit 2; } elsif ($exit_status & 1) { print "WARNING: $ret\n";