Disk monitoring

INFO

This feature is available starting from simob version 0.9.0

Monitoring disk health is a complex task due to the variety of hardware protocols and operating system interfaces. simob provides a unified view of your storage hardware, identifying physical disks, their transport protocols, and health status where available.

How it works

The simob agent performs hardware discovery on an hourly basis. It identifies physical disks, their transport protocol (SATA, NVMe, USB), and whether they are spinning (HDD) or non-rotational (SSD).

Virtual disks (e.g., from QEMU, VMware, or VirtIO) are automatically filtered out as they do not provide reliable hardware-level health data.

On Linux, health data is collected using the udisks2 system daemon via D-Bus. This allows the agent to pull SMART data (Self-Monitoring, Analysis, and Reporting Technology) without requiring root access.

Data collected

The agent collects the following attributes for each physical disk:

AttributeDescription
InterfaceThe transport protocol used (e.g., SATA, NVMe, USB).
SpinningIndicates if the drive is a rotational HDD or a flash-based SSD.
Smart statusSimplified health indicator (HEALTHY, FAILING, or UNKNOWN).
TemperatureCurrent drive temperature in Kelvin.
Power on hoursTotal lifetime operation time in hours.
Bad sectorsCount of reallocated or pending bad sectors.

Limitations

Disk monitoring support is currently focused on Linux:

  • Linux exclusive: Disk health monitoring (SMART) is currently only available on Linux systems. Other platforms will report basic device metadata or no disk information.
  • NVMe support: Advanced health reporting for NVMe drives on Linux requires udisks version 2.10.0 or newer. On older versions, NVMe health may be reported as unknown.
  • Hardware abstraction: simob prioritizes safety and stability. It runs as a non-privileged user and relies on udisks2 rather than direct hardware access. This means extremely granular vendor-specific raw attributes may not always be available.
  • RAID Controllers: Disks behind hardware RAID controllers may not be visible individually unless the controller exposes them as JBOD.

For a deeper dive into why disk health on Linux is notoriously difficult to monitor, read our blog post on why the Linux kernel doesn't care about disk health.

Troubleshooting

Agent version

Disk health monitoring is available since version 0.9.0 of the simob agent.

To check your current agent version, run:

simob version

To update to the latest version, simply run the update command:

simob update

Updating udisks2

If you are running NVMe drives and see UNKNOWN for health status, you likely need a newer version of udisks2.

You can check your current version with:

dpkg -s udisks2 | grep Version

If your version is older than 2.10.0, consider upgrading to a newer version.