smartctl_exporter is a Prometheus exporter that collects storage health information using smartctl, a utility provided by smartmontools. It converts disk diagnostic data into metrics that can be collected and analysed by Prometheus.
The application is designed for monitoring the health of hard disks and solid-state drives in servers, NAS devices and other systems. It provides a way to incorporate storage diagnostics into an existing monitoring infrastructure, making it easier to identify deteriorating drive health and investigate potential hardware problems.
smartctl_exporter obtains information from storage devices through the JSON output of smartctl. The available measurements depend on the underlying hardware and its supported diagnostic capabilities. The exporter requires appropriate permissions to access storage devices.
This is free and open source software.
Key Features
- Exports S.M.A.R.T. statistics in Prometheus-compatible format.
- Monitors ATA, SATA, SCSI, SAS and NVMe storage devices supported by smartctl.
- Collects drive temperatures, power-on hours, power cycle counts and device health status.
- Exposes disk attributes including reallocated sectors, error counts and other available reliability indicators.
- Reports NVMe health information including percentage used, available spare capacity, critical warnings and media errors.
- Provides storage capacity, interface speed and device identification metrics.
- Collects drive self-test information and error log statistics.
- Automatically discovers connected storage devices with configurable rescanning intervals.
- Allows individual devices to be specified explicitly, including drives behind supported RAID controllers.
- Device inclusion and exclusion filters using regular expressions.
- Configurable polling intervals and power mode checks to avoid unnecessarily waking sleeping drives.
- Customisable HTTP listening addresses and metrics endpoint.
- Supports TLS encryption and basic authentication.
- Systemd socket activation support.
- Configurable logging levels and output formats.
- Supports reading recorded smartctl JSON data for testing and troubleshooting.
Website: github.com/prometheus-community/smartctl_exporter
Support:
Developer: Prometheus Community
License: Apache License 2.0
smartctl_exporter is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Handy Hard Disk Utilities | |
|---|---|
| NVMe-CLI | NVM-Express user space tooling |
| Smartmontools | Control and monitor storage systems using S.M.A.R.T. |
| scrutiny | WebUI for smartd S.M.A.R.T monitoring |
| openSeaChest | Perform various operations on SATA, SAS, NVMe, and USB storage devices |
| GSmartControl | Graphical user interface for smartctl |
| hdparm | Tune hard disk parameters for high performance |
| sg3_utils | Utilities that send SCSI commands to devices |
| sdparm | Accesses SCSI device parameters |
| nwipe | Secure disk eraser |
| Bonnie++ | Toolkit for testing hard drive and file system performance |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |



Please read our Comment Policy before commenting.