Drive failures are a matter of when, not if. The good news is that most modern drives warn you before they fail, using S.M.A.R.T. (Self-Monitoring, Analysis and Reporting Technology). The challenge is collecting that data across a fleet and making it actionable. The new inventory-smartctl module makes this straightforward with a single cfbs add.
Once installed, the module auto-detects all storage devices, caches their SMART data, and exposes it as inventory attributes in Mission Portal.
What gets inventoried
The module exposes several inventory attributes, broken into categories.
Overall status
The SMART status attribute provides a rolled-up health indicator for each host:
OK- all detected drives report PASSEDDEGRADED- one or more drives report FAILEDSMARTCTL_MISSING- smartctl is not installed
Use this attribute to filter on in Mission Portal when looking for hosts that need attention. A host with DEGRADED status means at least one drive is predicting imminent failure.
Per-drive attributes
Each detected drive gets individual entries for:
- SMART drive health –
PASSEDorFAILEDper device (e.g./dev/sda: PASSED) - SMART drive model – drive model identifier (e.g.
/dev/sda: Samsung SSD 870 EVO) - SMART drive temperatures (C) – current temperature in Celsius
- SMART drive power-on hours – cumulative runtime, useful for tracking drive age and warranty
For NVMe devices, you also get:
- SMART NVMe available spare – remaining spare blocks as a percentage (low values indicate approaching end of life)
- SMART NVMe percentage used – drive life consumed based on the manufacturer’s endurance rating
- SMART NVMe media errors – uncorrectable media error count (any non-zero value warrants investigation)
Alerts
A special SMART failed drives attribute is only present on hosts where at least one drive has a FAILED health status. This makes it easy to build alerts or compliance reports that target only the hosts that actually need attention.
Try out the module and let us know what you think on Github Discussions or on the help mailing list.