Skip to main content

Storage devices monitoring with Netdata

Monitors smartd log files to collect HDD/SSD S.M.A.R.T attributes.

Requirements

  • smartmontools

It produces following charts for SCSI devices:

  1. Read Error Corrected

  2. Read Error Uncorrected

  3. Write Error Corrected

  4. Write Error Uncorrected

  5. Verify Error Corrected

  6. Verify Error Uncorrected

  7. Temperature

For ATA devices:

  1. Read Error Rate

  2. Seek Error Rate

  3. Soft Read Error Rate

  4. Write Error Rate

  5. SATA Interface Downshift

  6. UDMA CRC Error Count

  7. Throughput Performance

  8. Seek Time Performance

  9. Start/Stop Count

  10. Power-On Hours Count

  11. Power Cycle Count

  12. Unexpected Power Loss

  13. Spin-Up Time

  14. Spin-up Retries

  15. Calibration Retries

  16. Temperature

  17. Reallocated Sectors Count

  18. Reserved Block Count

  19. Program Fail Count

  20. Erase Fail Count

  21. Wear Leveller Worst Case Erase Count

  22. Unused Reserved NAND Blocks

  23. Reallocation Event Count

  24. Current Pending Sector Count

  25. Offline Uncorrectable Sector Count

  26. Percent Lifetime Used

prerequisite

smartd must be running with -A option to write smartd attribute information to files.

For this you need to set smartd_opts (or SMARTD_ARGS, check smartd.service content) in /etc/default/smartmontools:

# dump smartd attrs info every 600 seconds
smartd_opts="-A /var/log/smartd/ -i 600"

You may need to create the smartd directory before smartd will write to it:

mkdir -p /var/log/smartd

Otherwise, all the smartd .csv files may get written to /var/lib/smartmontools (default location). See also https://linux.die.net/man/8/smartd for more info on the -A --attributelog=PREFIX command.

smartd appends logs at every run. It's strongly recommended to use logrotate for smartd files.

Configuration

Edit the python.d/smartd_log.conf configuration file using edit-config from the Netdata config directory, which is typically at /etc/netdata.

cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/smartd_log.conf
local:
log_path : '/var/log/smartd/'

If no configuration is given, module will attempt to read log files in /var/log/smartd/ directory.


Was this page helpful?

Need further help?

Search for an answer in our community forum.

Contribute