Check Disk... Checker?

You start off with a couple of partitions. You add a MySQL instance and put it on a new logical volume. You break its logging out to a different volume group for performance reasons. You take a snapshot for query tuning and mount that. You add a chunk of disk for a short experiment you were going to try… thanks to legacy, laziness and easy to use LUNs you eventually end up with more mount points than you know what to do with. And at the worst possible moment one of them will fill and you’ll discover you forgot to add it to Nagios for monitoring. Or you inherit a bundle of crack fueled servers that have been “evolved” and never gifted with decent monitoring.

The check_disk_checker.pl script was written to help find mount points that you’re not monitoring. It scans through your local Nagios NRPE config files, looks at your current mount points, and complains about any mounted partitions that are not being checked according to the local NRPE configuration files. Of course there is nothing to say that what you have locally is what the remote Nagios is polling but that’s outside the scope of this post.

check_disk_checker.pl shells out and grabs a list of all mounted partitions. It then pulls a list of check-disk lines out of any config files matching nrpe*.conf or nrpe*.cfg (our local naming scheme) that live in /etc/nagios. It then extracts the partitions each one checks (it grabs the value following a -p argument) and complains if it doesn’t find a check for each mounted partition. The script can be run under Nagios as a plugin or stand-alone for help controlling a legacy system.

It also plays well with the Linux Check Mounted Disks Nagios Plugin