Disk monitoring
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:
| Attribute | Description |
|---|---|
| Interface | The transport protocol used (e.g., SATA, NVMe, USB). |
| Spinning | Indicates if the drive is a rotational HDD or a flash-based SSD. |
| Smart status | Simplified health indicator (HEALTHY, FAILING, or UNKNOWN). |
| Temperature | Current drive temperature in Kelvin. |
| Power on hours | Total lifetime operation time in hours. |
| Bad sectors | Count 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
udisksversion 2.10.0 or newer. On older versions, NVMe health may be reported as unknown. - Hardware abstraction:
simobprioritizes safety and stability. It runs as a non-privileged user and relies onudisks2rather 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.