X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-nrpe-config%2Fdsa-check-hpacucli;h=a3c42c742f6cce33c338415a77491f6fd5600823;hb=972fb04e546e2f19403aae970c26a472599731ef;hp=2bc260ae1651d83d128c595974b448c703d13bba;hpb=e58155ec3e7428265f8ba5bb223c33440ede356f;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-nrpe-config/dsa-check-hpacucli b/dsa-nagios-nrpe-config/dsa-check-hpacucli index 2bc260a..a3c42c7 100755 --- a/dsa-nagios-nrpe-config/dsa-check-hpacucli +++ b/dsa-nagios-nrpe-config/dsa-check-hpacucli @@ -90,9 +90,12 @@ for my $slot (sort @controllers) { for (@$pds) { chomp; next if /^$/; - next if /^ *array [A-Z]$/; next if (/^\S.*in Slot $slot/); - if (/^Error: The specified controller does not have any physical drives on it.$/) { + next if /^ *array [A-Z]$/; + if (/^ *(array [A-Z]) \(Failed\)$/) { + record('CRITICAL'); + push @{$status{'Failed'}}, $1; + } elsif (/^Error: The specified controller does not have any physical drives on it.$/) { $nodrives = 1; } elsif (/^ *physicaldrive (\S+) .* (OK|Predictive Failure|Failed|Rebuilding)(?:, spare)?\)$/) { my $drive = $1; @@ -143,7 +146,19 @@ for my $slot (sort @controllers) { my $expected; if ($type eq 'SCSI') { $key = 'Transfer Speed'; - $expected = '320 MB/Sec'; + if (!defined $value{'Transfer Mode'}) { + record('WARNING'); + push @{$status{'unknown transfer mode'}}, $drive; + next; + } elsif ($value{'Transfer Mode'} eq 'Ultra 3 Wide') { + $expected = '160 MB/Sec'; + } elsif ($value{'Transfer Mode'} eq 'Ultra 320 Wide') { + $expected = '320 MB/Sec'; + } else { + record('WARNING'); + push @{$status{'unknown transfer mode'}}, $drive."(".$value{'Transfer Mode'}.")"; + next; + }; } elsif ($type eq 'SAS') { $key = 'PHY Transfer Rate'; $expected = '3.0GBPS';