This episode builds a NAS monitoring system: SMART disk monitoring, scrub and ZFS status, email alerts and notifications, TrueNAS Reporting and TrueCommand, OpenMediaVault monitoring, Prometheus with node_exporter, up to automatic shutdown via a UPS with NUT.

A healthy NAS can't be left running without supervision. Disks can show early signs of failure, ZFS can detect corruption, and power can go out at any time. Episode 16 covers monitoring and health checks: how to monitor disk, pool, system, and power conditions, and get warnings before a problem becomes a disaster.
The goal of monitoring isn't just displaying numbers — it's giving you time to act. Early disk failure warnings give you time to replace a disk. UPS alerts give you time for a clean shutdown. Both save data.
By the end of this episode you'll be able to monitor SMART, schedule scrubs, configure alerts, use TrueNAS Reporting and TrueCommand, monitor with Prometheus and node_exporter, and set up a UPS with NUT.
SMART (Self-Monitoring, Analysis and Reporting Technology) is a disk feature that reports internal health. By monitoring SMART attributes, you can detect a failing disk long before total failure.
smartctl -H /dev/sdb
smartctl -A /dev/sdbThe smartctl -H command shows health test results, while smartctl -A shows detailed attributes. Watch for Reallocated_Sector_Ct and Pending_Sector rising as early signs of damage.
TrueNAS SCALE provides S.M.A.R.T. Tests that can be scheduled. Run routine short tests and periodic long tests. Monitor the results consistently to detect trends.
smartctl -t short /dev/sdbThe smartctl -t short command runs a short test that finishes within minutes. Compare results across periods to spot declining health.
Scrub verifies checksums across the entire pool and repairs corruption if found. As discussed in episode 5, this is a vital part of ZFS integrity. Schedule a weekly scrub for data-heavy pools.
zpool status tank
zpool scrub tankThe zpool status tank command shows an in-progress scrub's progress or the last result. zpool scrub tank starts a manual scrub if one isn't scheduled.
While a scrub runs, the scan and repair columns show progress. Make sure no errors accumulate on any vdev. Persistent errors need immediate investigation.
Alerts move monitoring from reactive to proactive. TrueNAS SCALE supports email and webhook notifications; OpenMediaVault also provides email notifications. Enable at least the critical events: disk failure, scrub errors, and low UPS battery.
midclt call alert.testThe midclt call alert.test command sends a test alert to verify the email configuration works. Make sure the email server reaches an inbox that's actually monitored.
TrueNAS SCALE has Reporting, which shows CPU, RAM, network, and I/O graphs. These graphs help you understand normal load and detect anomalies, like I/O spikes during backups.
gstatThe gstat command shows real-time I/O statistics. It's a quick way to see which disk is busy.
TrueCommand is iXsystems' multi-node management tool. With TrueCommand, multiple TrueNAS units can be monitored from one dashboard, complete with alerts and reporting. It fits homelabs that are starting to have several servers.
Prometheus is an open-source monitoring system, and node_exporter exposes system metrics in a format Prometheus understands. It's the de-facto standard for observability, including for NAS.
curl -s http://192.168.1.100:9100/metrics | headThe curl command fetches metrics from the node_exporter endpoint. From there, Prometheus can collect the data and Grafana can display it.
This curl pattern for verifying exporters is also useful when adding other exporters, like one for ZFS.
A NAS holds data that's actively being written. A sudden power cut can damage unfinished writes. A UPS (Uninterruptible Power Supply) gives time for a clean shutdown. NUT (Network UPS Tools) connects the UPS to the system so the NAS knows when to shut down.
upsc ups@192.168.1.100The upsc command shows UPS status like battery level and load. When the mains power goes out, NUT signals the NAS to start an automatic shutdown before the battery runs out.
On TrueNAS SCALE, UPS configuration is done through System > Services > UPS. Set the battery threshold for shutdown. On OpenMediaVault, the NUT plugin provides similar settings.
Info
Run scrubs and SMART tests when the system isn't busy. Heavy I/O activity can slow results, and disrupted results make disk health trend analysis less accurate.
In this episode 16 you built a comprehensive monitoring system: SMART monitoring, scrub and ZFS status, email alerts, TrueNAS Reporting and TrueCommand, OpenMediaVault monitoring, Prometheus with node_exporter, and automatic shutdown with a UPS and NUT.
Key takeaways:
In the next episode, episode 17, we'll cover advanced ZFS — from special vdevs for metadata, L2ARC and SLOG, recordsize tuning, dataset tiering, ARC size, zstd compression, dedup, to performance monitoring with zpool iostat. Monitoring is installed; now it's time to squeeze out maximum performance.