Disk Monitoring with Nagios

What Is Disk Monitoring?

Disk monitoring is the scheduled checking of storage capacity and health, so a filling volume or a degrading array becomes an alert with time to act on it rather than an outage. It covers two distinct things that often get lumped together: capacity, meaning how much space is left and how fast it’s disappearing, and health, meaning whether the underlying hardware is failing. Nagios monitors both, and the checks differ.

Why Disk Problems Are Worth Catching Early

A full disk doesn’t degrade gracefully. Databases stop accepting writes, logs stop rotating, applications throw errors that look like anything but a storage problem, and the recovery is almost always more disruptive than the prevention would have been. Disk capacity is also one of the few failure modes that is genuinely predictable: a volume filling at a steady rate gives you weeks of warning if something is watching the trend.

Hardware health is less predictable, which is worth being honest about, but a degraded RAID array running on its last redundancy is exactly the kind of thing you want to know about on a Tuesday afternoon rather than during the second failure.

What Nagios Monitors

Disk space and capacity: The check_disk plugin ships with Nagios Plugins and checks used and available space on mounted filesystems, alerting when free space drops below the thresholds you set. One practical detail that catches people out: check_disk thresholds are expressed in terms of free space, not used space. If you want to alert at “90 percent used,” you configure the equivalent free space threshold instead.

For servers running the Nagios Cross-Platform Agent (NCPA), the agent’s built-in disk module handles this directly and does support used-percentage thresholds, which is usually the more natural way to express the rule:
check_ncpa.py -H -t '' -M 'disk/logical/C:|/used_percent' --warning 90 --critical 95

For storage on devices that can’t run an agent, check_snmp_storage_wizard.pl targets disks over SNMP using regular expressions.

Directories and files: Monitor specific paths for size, presence, or age. This is how you catch a log directory growing without bound, a batch job that stopped producing its output file, or a spool that isn’t draining.

RAID array status: Confirm an array is healthy rather than running degraded. A RAID array that has silently lost a member is still serving data, which is precisely why nobody notices until the second drive goes.

S.M.A.R.T. status: Self-Monitoring, Analysis, and Reporting Technology (S.M.A.R.T.) exposes drive-level health attributes such as reallocated sectors and pending sector counts. Monitoring it catches drives that are visibly degrading. It’s worth setting expectations honestly here: S.M.A.R.T. is a useful early warning for some failure modes, but a substantial share of drives fail with no prior S.M.A.R.T. warning at all. Treat it as one signal among several, not as failure prediction.

Disk I/O performance: Track read and write throughput and related counters to catch a storage bottleneck that’s slowing an application without filling anything up.

 

A note on where these plugins come from: Nagios Exchange holds thousands of plugins covering vendor-specific RAID controllers, SAN and NAS hardware, and filesystem types beyond what the standard set handles. Quality varies. Before wiring a community plugin into production, check when it was last updated, read the source (you are about to run it as a privileged user), and test it from the command line.

Turning Disk Data Into Upgrade Planning

Capacity is the one storage problem you can schedule around instead of react to. Nagios XI retains performance data from every disk check, and its Capacity Planning and Availability reports turn months of that history into a growth trend. That’s the difference between “this volume is 87 percent full” and “this volume will be full in eleven weeks,” which is the version you can take into a budget conversation.

Why Nagios XI For Disk Monitoring

Disk checks sit in the same status views, notification chains, and escalation policies as everything else you monitor, so storage isn’t a separate tool with a separate on-call habit. You set the Warning and Critical thresholds yourself, per volume, which matters because a 20 percent free threshold that’s sensible on a 100 GB volume is absurd on a 20 TB one. And when the standard plugins don’t cover your hardware, the plugin architecture means anything that can be scripted can become a check, in any language, as long as it returns the right exit code.

Ready to Monitor with Nagios XI?

Get comprehensive infrastructure monitoring with our enterprise solution.