X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-hpacucli;h=755a40604ad9c74d267bf8b1a20025d309ad2c47;hb=f295d1e8f6e63e63cac4802dff5087e8a699790e;hp=7aff0c36ae0054148b0642858f6abbf3abd65de4;hpb=e3310892896fd02325d687672a52b25b247bd134;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-hpacucli b/dsa-nagios-checks/checks/dsa-check-hpacucli index 7aff0c3..755a406 100755 --- a/dsa-nagios-checks/checks/dsa-check-hpacucli +++ b/dsa-nagios-checks/checks/dsa-check-hpacucli @@ -5,7 +5,7 @@ # # does _not_ check raid status. use arrayprobe for that. -# Copyright (c) 2008,2009 Peter Palfrader +# Copyright (c) 2008,2009,2010,2011 Peter Palfrader # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -41,7 +41,7 @@ my %CODE = ( my $EXITCODE = 'OK'; $SIG{'__DIE__'} = sub { - print STDERR @_; + print @_; exit $CODE{'UNKNOWN'}; }; @@ -64,11 +64,12 @@ sub record($) { }; } -my $usage = "$PROGRAM_NAME: Usage: $PROGRAM_NAME [--ignore-transfer-speed= [--ignore-transfer-speed= ...]]\n"; +my $usage = "$PROGRAM_NAME: Usage: $PROGRAM_NAME [--no-battery] [--ignore-transfer-speed= [--ignore-transfer-speed= ...]]\n"; my $params; Getopt::Long::Configure('bundling'); if (!GetOptions ( '--help' => \$params->{'help'}, + '--no-battery' => \$params->{'no-battery'}, '--ignore-transfer-speed=s@' => \$params->{'ignore-transfer-speed'}, )) { die ($usage); @@ -200,18 +201,18 @@ for my $slot (sort @controllers) { if ($params->{'ignore-transfer-speed'}) { if (grep { $drive eq $_ } @{$params->{'ignore-transfer-speed'}}) { push @{$status{'ignored transfer speed'}}, $drive."(".$value{$key}.")"; + next; }; - next; }; if (!defined $value{$key}) { record('WARNING'); push @{$status{'unknown transfer speed'}}, $drive; } elsif (ref($expected) eq 'ARRAY') { - if (scalar(grep { $value{$key} eq $_ } @$expected) == 0) { + if (scalar(grep { uc($value{$key}) eq uc($_) } @$expected) == 0) { record('WARNING'); push @{$status{'bad transfer speed'}}, $drive."(".$value{$key}.")"; }; - } elsif ($value{$key} ne $expected) { + } elsif (uc($value{$key}) ne uc($expected)) { record('WARNING'); push @{$status{'bad transfer speed'}}, $drive."(".$value{$key}.")"; }; @@ -236,6 +237,8 @@ for my $slot (sort @controllers) { my $status = $2; push @{$status{$status}}, $system; if ($status ne 'OK') { + next if ($params->{'no-battery'} && $system eq 'Cache'); + next if ($params->{'no-battery'} && $system eq 'Battery/Capacitor'); record('WARNING'); }; } else {