X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=dsa-nagios-checks%2Fchecks%2Fdsa-check-hpacucli;h=06c6fadeb7c48405a617461ad7d032b2d689f4c1;hb=a540681e958792830902b62a774aa98fbc3c97c1;hp=a34738897ac81903992fd2c34e983426310c4e95;hpb=42e99da9d896a33803e763c746e9a103183b6b34;p=mirror%2Fdsa-nagios.git diff --git a/dsa-nagios-checks/checks/dsa-check-hpacucli b/dsa-nagios-checks/checks/dsa-check-hpacucli index a347388..06c6fad 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 Peter Palfrader +# Copyright (c) 2008,2009 Peter Palfrader # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the @@ -68,7 +68,7 @@ my @controllers; for (@$ctrlallshow) { chomp; next if /^$/; - if (/in Slot ([0-9]+) /) { + if (/in Slot ([0-9a-z]+)/) { push @controllers, $1; next; }; @@ -97,7 +97,7 @@ for my $slot (sort @controllers) { 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)?\)$/) { + } elsif (/^ *physicaldrive (\S+) .* (OK|Predictive Failure|Failed|Rebuilding)(?:, (?:active )?spare)?\)$/) { my $drive = $1; my $status = $2; push @{$status{$status}}, $drive; @@ -124,7 +124,7 @@ for my $slot (sort @controllers) { my $type; if ($drive =~ /^[0-9]+:[0-9]+$/) { # scsi drives $type = 'SCSI'; - } elsif ($drive =~ /^[0-9]+I:[0-9]+:[0-9]+$/) { # SAS + } elsif ($drive =~ /^[0-9]+[EI]:[0-9]+:[0-9]+$/) { # SAS $type = 'SAS'; } else { # I'm not going to run pass arguments of unknown form to the shell..