|
|
|
@ -6,11 +6,13 @@ use JSON; |
|
|
|
|
my $json; |
|
|
|
|
@{$json->{data}} = (); |
|
|
|
|
|
|
|
|
|
open FILE, "< /proc/mdstat" or die "Can't open /proc/mdadm : $!"; |
|
|
|
|
foreach my $line (<FILE>) { |
|
|
|
|
next unless ($line =~ m/^(md\d+)+\s*:/); |
|
|
|
|
my ($md,undef,$status,$level) = split(/\ /, $line); |
|
|
|
|
push @{$json->{data}}, {"{#DEVICE}" => $md, "{#STATUS}" => $status, "{#LEVEL}" => $level}; |
|
|
|
|
if (-x '/bin/systemd-detect-virt' && system('/bin/systemd-detect-virt', '-qc') != 0){ |
|
|
|
|
open FILE, "< /proc/mdstat" or die "Can't open /proc/mdadm : $!"; |
|
|
|
|
foreach my $line (<FILE>) { |
|
|
|
|
next unless ($line =~ m/^(md\d+)+\s*:/); |
|
|
|
|
my ($md,undef,$status,$level) = split(/\ /, $line); |
|
|
|
|
push @{$json->{data}}, {"{#DEVICE}" => $md, "{#STATUS}" => $status, "{#LEVEL}" => $level}; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
print to_json($json); |
|
|
|
|
exit(0); |
|
|
|
|