I’ve had a home server for years, at first using Windows Server, then Unraid, and now using Ubuntu server. I’ve long known that I should keep a close eye on my spinning rust, but I never really knew the best way to have that monitoring quietly automated in the background, only sending me a message when something bad shows up. If it matters at all (I assume it doesn’t) I am using ZFS on Ubuntu (but not using ZFS as root. It’s mounted in e.g ~/user/storage. My primary drive is an SSD)
What are you all using for hard drive monitoring? What are you using for notifications and (generally) how are you linking those two together?
Ingredients
- A 10-line Python script that parses the
zpool status
and looks for errors - A systemd one-shot service that runs it and puts the output into node_exporter
- A systemd timer that runs the service every 5 minutes
- A Prometheus container that among other things has an alert for changes in the zpool health data
Result
Once this is setup, it’s trivial to add other checks like
smartmontools
, etc. If you add Alertmanager, you can get emails and other alerts sent to you while you’re not looking.- A 10-line Python script that parses the