Prometheus exporter for critical S.M.A.R.T. metrics. It works by parsing smartctl output for every device. Parsing is performed independent of metrics HTTP handler (not on every scrape).
Example scrape output with metrics:
# HELP smart_read_uncorrected_errors_total Number of uncorrected read errors
# TYPE smart_read_uncorrected_errors_total gauge
smart_read_uncorrected_errors_total{device="/dev/sda"} 0
# HELP smart_write_uncorrected_errors_total Number of uncorrected write errors
# TYPE smart_write_uncorrected_errors_total gauge
smart_write_uncorrected_errors_total{device="/dev/sda"} 0
# HELP smart_grown_defect_list_total Number of elements in grown defect list
# TYPE smart_grown_defect_list_total gauge
smart_grown_defect_list_total{device="/dev/sda"} 0
# HELP smart_reallocated_sectors_total Number of reallocated sectors
# TYPE smart_reallocated_sectors_total gauge
smart_reallocated_sectors_total{device="/dev/sda"} 0
Docker image can be started with command:
docker run --privileged -p 8000:8000 ontrif/smart_exporter