Merge pull request #896 from dpavlin/master

count failed disks and report critical warning
This commit is contained in:
sumpfralle 2018-03-09 02:55:09 +01:00 committed by GitHub
commit ad5e7ad3f7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 1 deletions

View File

@ -42,7 +42,7 @@ my($devinfo_re, $devstat_re, $action_re) = (
# Interestingly, swap is presented as "active (auto-read-only)"
# and mdadm has '--readonly' option to make the array 'active (read-only)'
my($dev, $ro, $type, $members, $nmem, $nact, $status, $action, $proc, $minute);
my($dev, $ro, $type, $members, $failed, $nmem, $nact, $status, $action, $proc, $minute);
while (@text) {
my $line = shift @text;
if ($line =~ /$devinfo_re/) {
@ -51,6 +51,9 @@ while (@text) {
$ro = $2 || '';
$type = $3;
$members = $4;
$failed = $members;
$failed =~ s/[^F]+//g;
$failed = length($failed);
$line = shift @text;
if ($line =~ /$devstat_re/) {
@ -104,6 +107,9 @@ while (@text) {
print $dev, "_rebuild.critical 98:\n";
print $dev, "_check.label $dev check/resync \n";
print $dev, "_check.info $action $minute\n";
print $dev, "_failed.label $dev failed disks \n";
print $dev, "_failed.info $action $minute\n";
print $dev, "_failed.critical 0:0\n";
} else {
my $pct = 100 * $nact / $nmem;
my $rpct = 100;
@ -127,6 +133,7 @@ while (@text) {
print "$dev.value $pct\n";
print $dev, "_rebuild.value $rpct\n";
print $dev, "_check.value $cpct\n";
print $dev, "_failed.value $failed\n";
}
}