mdstat: Fix parsing of RAID0 lines that contain additional attributes.
We seem to have a small number of Linux servers here that have lines in /proc/mdstat that cannot be parsed by the node exporter, due to them containing attributes that are not matched by the regular expression ("super 1.2"). Extend the regular expression to skip this data, just like we do for all of the other status lines.
This commit is contained in:
parent
38ca73e783
commit
9749c2c0b3
|
@ -715,6 +715,7 @@ node_load5 0.37
|
||||||
node_md_blocks{device="md0"} 248896
|
node_md_blocks{device="md0"} 248896
|
||||||
node_md_blocks{device="md10"} 3.14159265e+08
|
node_md_blocks{device="md10"} 3.14159265e+08
|
||||||
node_md_blocks{device="md11"} 4.190208e+06
|
node_md_blocks{device="md11"} 4.190208e+06
|
||||||
|
node_md_blocks{device="md12"} 3.886394368e+09
|
||||||
node_md_blocks{device="md127"} 3.12319552e+08
|
node_md_blocks{device="md127"} 3.12319552e+08
|
||||||
node_md_blocks{device="md3"} 5.853468288e+09
|
node_md_blocks{device="md3"} 5.853468288e+09
|
||||||
node_md_blocks{device="md4"} 4.883648e+06
|
node_md_blocks{device="md4"} 4.883648e+06
|
||||||
|
@ -727,6 +728,7 @@ node_md_blocks{device="md9"} 523968
|
||||||
node_md_blocks_synced{device="md0"} 248896
|
node_md_blocks_synced{device="md0"} 248896
|
||||||
node_md_blocks_synced{device="md10"} 3.14159265e+08
|
node_md_blocks_synced{device="md10"} 3.14159265e+08
|
||||||
node_md_blocks_synced{device="md11"} 4.190208e+06
|
node_md_blocks_synced{device="md11"} 4.190208e+06
|
||||||
|
node_md_blocks_synced{device="md12"} 3.886394368e+09
|
||||||
node_md_blocks_synced{device="md127"} 3.12319552e+08
|
node_md_blocks_synced{device="md127"} 3.12319552e+08
|
||||||
node_md_blocks_synced{device="md3"} 5.853468288e+09
|
node_md_blocks_synced{device="md3"} 5.853468288e+09
|
||||||
node_md_blocks_synced{device="md4"} 4.883648e+06
|
node_md_blocks_synced{device="md4"} 4.883648e+06
|
||||||
|
@ -739,6 +741,7 @@ node_md_blocks_synced{device="md9"} 523968
|
||||||
node_md_disks{device="md0"} 2
|
node_md_disks{device="md0"} 2
|
||||||
node_md_disks{device="md10"} 2
|
node_md_disks{device="md10"} 2
|
||||||
node_md_disks{device="md11"} 2
|
node_md_disks{device="md11"} 2
|
||||||
|
node_md_disks{device="md12"} 2
|
||||||
node_md_disks{device="md127"} 2
|
node_md_disks{device="md127"} 2
|
||||||
node_md_disks{device="md3"} 8
|
node_md_disks{device="md3"} 8
|
||||||
node_md_disks{device="md4"} 2
|
node_md_disks{device="md4"} 2
|
||||||
|
@ -751,6 +754,7 @@ node_md_disks{device="md9"} 4
|
||||||
node_md_disks_active{device="md0"} 2
|
node_md_disks_active{device="md0"} 2
|
||||||
node_md_disks_active{device="md10"} 2
|
node_md_disks_active{device="md10"} 2
|
||||||
node_md_disks_active{device="md11"} 2
|
node_md_disks_active{device="md11"} 2
|
||||||
|
node_md_disks_active{device="md12"} 2
|
||||||
node_md_disks_active{device="md127"} 2
|
node_md_disks_active{device="md127"} 2
|
||||||
node_md_disks_active{device="md3"} 8
|
node_md_disks_active{device="md3"} 8
|
||||||
node_md_disks_active{device="md4"} 2
|
node_md_disks_active{device="md4"} 2
|
||||||
|
@ -763,6 +767,7 @@ node_md_disks_active{device="md9"} 4
|
||||||
node_md_is_active{device="md0"} 1
|
node_md_is_active{device="md0"} 1
|
||||||
node_md_is_active{device="md10"} 1
|
node_md_is_active{device="md10"} 1
|
||||||
node_md_is_active{device="md11"} 1
|
node_md_is_active{device="md11"} 1
|
||||||
|
node_md_is_active{device="md12"} 1
|
||||||
node_md_is_active{device="md127"} 1
|
node_md_is_active{device="md127"} 1
|
||||||
node_md_is_active{device="md3"} 1
|
node_md_is_active{device="md3"} 1
|
||||||
node_md_is_active{device="md4"} 0
|
node_md_is_active{device="md4"} 0
|
||||||
|
|
|
@ -34,4 +34,7 @@ md11 : active (auto-read-only) raid1 sdb2[0] sdc2[1]
|
||||||
4190208 blocks super 1.2 [2/2] [UU]
|
4190208 blocks super 1.2 [2/2] [UU]
|
||||||
resync=PENDING
|
resync=PENDING
|
||||||
|
|
||||||
|
md12 : active raid0 sdc2[0] sdd2[1]
|
||||||
|
3886394368 blocks super 1.2 512k chunks
|
||||||
|
|
||||||
unused devices: <none>
|
unused devices: <none>
|
||||||
|
|
|
@ -29,7 +29,7 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
statuslineRE = regexp.MustCompile(`(\d+) blocks .*\[(\d+)/(\d+)\] \[[U_]+\]`)
|
statuslineRE = regexp.MustCompile(`(\d+) blocks .*\[(\d+)/(\d+)\] \[[U_]+\]`)
|
||||||
raid0lineRE = regexp.MustCompile(`(\d+) blocks \d+k chunks`)
|
raid0lineRE = regexp.MustCompile(`(\d+) blocks .*\d+k chunks`)
|
||||||
buildlineRE = regexp.MustCompile(`\((\d+)/\d+\)`)
|
buildlineRE = regexp.MustCompile(`\((\d+)/\d+\)`)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,7 @@ func TestMdadm(t *testing.T) {
|
||||||
"md9": {"md9", true, 4, 4, 523968, 523968},
|
"md9": {"md9", true, 4, 4, 523968, 523968},
|
||||||
"md10": {"md10", true, 2, 2, 314159265, 314159265},
|
"md10": {"md10", true, 2, 2, 314159265, 314159265},
|
||||||
"md11": {"md11", true, 2, 2, 4190208, 4190208},
|
"md11": {"md11", true, 2, 2, 4190208, 4190208},
|
||||||
|
"md12": {"md12", true, 2, 2, 3886394368, 3886394368},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, md := range mdStates {
|
for _, md := range mdStates {
|
||||||
|
|
Loading…
Reference in New Issue