Skip to content

Conversation

@mshahzeb
Copy link

@mshahzeb mshahzeb commented Apr 1, 2025

Opened in place of: #3047

Fixes: #3005

Adds:

# HELP node_filesystem_errors Number of filesystem errors encountered. # TYPE node_filesystem_errors counter node_filesystem_errors{device="/dev/vda2",device_error="",fstype="ext4",mountpoint="/boot"} 0 # HELP node_filesystem_warnings Number of filesystem warnings encountered. # TYPE node_filesystem_warnings counter node_filesystem_warnings{device="/dev/vda2",device_error="",fstype="ext4",mountpoint="/boot"} 0 # HELP node_filesystem_messages Number of filesystem log messages. # TYPE node_filesystem_messages counter node_filesystem_messages{device="/dev/vda2",device_error="",fstype="ext4",mountpoint="/boot"} 0 

From

  • /sys/fs/ext4/<partition>/errors_count: number of ext4 errors (commit)
  • /sys/fs/ext4/<partition>/warning_count: number of ext4 warning log messages (commit)
  • /sys/fs/ext4/<partition>/msg_count: number of other ext4 log messages

and

# HELP node_disk_ioerr_total Number of IO commands that completed with an error. # TYPE node_disk_ioerr_total counter node_disk_ioerr_total{device="sda"} 3 node_disk_ioerr_total{device="sr0"} 29 # HELP node_disk_iodone_total Number of completed or rejected IO commands. # TYPE node_disk_iodone_total counter node_disk_iodone_total{device="sda"} 307 node_disk_iodone_total{device="sr0"} 4483 

From

  • /sys/block/<disk>/device/ioerr_cnt: number of SCSI commands that completed with an error
  • /sys/block/<disk>/device/iodone_cnt: number of completed or rejected SCSI commands

Implements new ext4 collector.

Corresponding procfs changes: prometheus/procfs#651

Signed-off-by: Muhammad Shahzeb <mhmdshahzeb1993@gmail.com>
@mshahzeb mshahzeb force-pushed the shahzeb/add-io-fs-stats-node branch from b263a71 to e902d2a Compare April 1, 2025 22:02
@mshahzeb
Copy link
Author

mshahzeb commented Apr 1, 2025

@SuperQ @discordianfish

Hey! Can you pls give this a review whenever you can. Thanks!

}

// Read IO error counts if available
iodoneCnt, err := os.ReadFile(filepath.Join(*sysPath, "block", dev, "device/iodone_cnt"))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be implemented in the procfs library first.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Naively it looks like prometheus/procfs#651 merged, is this PR in need of a new owner? Found this PR via the associated issue 😅

@nandanatur
Copy link

Having support for xfs filesystem would be greatly appreciated

@discordianfish
Copy link
Member

If @mshahzeb is not interested in continuing this, feel free to submit a new PR based on prometheus/procfs#651

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

5 participants