prometheus / prometheus/node_exporter

Linux mdadm collector fails if any software RAID array has a delayed check or resync

Open
#3,500 4 comments 1 reaction 1 assignee View on GitHub

@mehrdadbn9 is already working on this.

Since Feb 23, 2026.

accepted bug platform/Linux
Dominant language
Go
Stars
13.8k
Forks
2.7k
Avg merge
1d 23h
Merged PRs (30d)
8

Description

Under some situations, if you (or system cron jobs/systemd timers/etc) trigger a check or a resync of multiple software RAID arrays at the same time, the action will be delayed for all arrays but one. When this happens, the mdadm collector fails, reporting:

time=2025-12-07T01:28:23.387-05:00 level=ERROR source=collector.go:168 msg="collector failed" name=mdadm duration_seconds=0.125841512 err="error parsing mdraids: expected integer"

The underlying cause of this is prometheus/procfs/issues/770 but I'm filing this issue against the node_exporter too so you can track this and pick up the fix when it's made.

People who have such software RAID setups are likely to experience this issue regularly (which may trigger alarms if they alert on unexpected collector failures), because most Linux distributions perform periodic software RAID 'check' operations and it seems common to nominally start them at the same time on all software RAID arrays. Specifically, Ubuntu LTS releases do this weekly.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.