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

  1. Check /proc/self/mountinfo readability and format inside the exporter's environment.
  2. If /proc is a filtered or fuse-mounted view (some sandboxes), mount a real procfs.
  3. 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


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)