prometheus/node_exporter · error
failed to parse mountinfo
Error message
failed to parse mountinfo: %w
What it means
Update failed while procfs parsed /proc/self/mountinfo for the mountstats collector. The mountinfo file was unreadable or did not match the expected format, so per-mountpoint NFS metric labeling cannot proceed and this scrape cycle returns an error.
Solutions
- Check /proc/self/mountinfo readability and format inside the exporter's environment.
- If /proc is a filtered or fuse-mounted view (some sandboxes), mount a real procfs.
- Retry on the next scrape; errors during concurrent mount changes are typically transient.
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at collector/mountstats_linux.go:536 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Parsing and encoding errors: unexpected token, malformed input — why parsers reject input and how to find the real culprit.
AI-assisted analysis of prometheus/node_exporter@17ddd77c59 (2026-09-07).
Data as JSON: /api/errors/cb4b4c4d133a02d0.
Report an issue: GitHub.
Appendix: source
Thrown at collector/mountstats_linux.go:536
"Number of NFS v4.1+ pNFS writes.",
labels,
nil,
),
proc: proc,
logger: logger,
}, nil
}
func (c *mountStatsCollector) Update(ch chan<- prometheus.Metric) error {
mounts, err := c.proc.MountStats()
if err != nil {
return fmt.Errorf("failed to parse mountstats: %w", err)
}
mountsInfo, err := c.proc.MountInfo()
if err != nil {
return fmt.Errorf("failed to parse mountinfo: %w", err)
}
// store all seen nfsDeviceIdentifiers for deduplication
deviceList := make(map[nfsDeviceIdentifier]bool)
mountpointList := make(map[nfsMountpointIdentifier]bool)
for idx, m := range mounts {
// For the time being, only NFS statistics are available via this mechanism
stats, ok := m.Stats.(*procfs.MountStatsNFS)
if !ok {
continue
}
mountPoint := m.Mount
var mountAddress string
if idx < len(mountsInfo) {
// The mount entry order in the /proc/self/mountstats and /proc/self/mountinfo is the same.View on GitHub (pinned to 17ddd77c59)