14.11. Monitoring Disk Usage

You want to keep an eye on some of your disk partitions and see how full they are getting.

First, you need to edit snmpd.conf, adding the partitions you wish to monitor:

	## /etc/snmp/snmpd.conf
	disk /var
	disk /home

Then, restart snmpd:

	# /etc/init.d/snmpd restart

Try this in mrtg.cfg:

	# Monitor disk usage of /var and /home partitions
	#
	Target[server.disk]: dskPercent.1&dskPercent.2:password@localhost
	Title[server.disk]: Disk Partition Usage
	PageTop[server.disk]: <H1>Disk Partition Usage /var and /home</H1>
	MaxBytes[server.disk]: 100
	ShortLegend[server.disk]: % Y
	Legend[server.disk]: % used
	LegendI[server.disk]: /var
	LegendO[server.disk]: /home
	Options[server.disk]: gauge,growright,nopercent
	Unscaled[server.disk]: ymwd

Make sure that LoadMIBs: /usr/local/share/snmp/mibs/UCD-SNMP-MIB.txt is in the Global Config Options section. Run these commands to load the changes:

	# env LANG=C mrtg /etc/mrtg.cfg
	# indexmaker --output=/var/www/mrtg/index.html /etc/mrtg.cfg

Mind your filepaths, because they vary on different Linux distributions, and remember to run the first command until it quits emitting error messages, which should take no more than three tries.

This only works on disk partitions—you cannot select just any old directory.

Give MRTG an hour or so, then check your work with the df-h command:

	$ df -h
	Filesystem           Size  Used Avail Use% Mounted on
	/dev/hda1             14G 2.3G 11G 17% /
	/dev/hda3              5G 1.8G 3.2G 36% /usr
	/dev/sda1             31G 6.5G 24G 22% /home
	/dev/hda2            4.5G 603M 3.7G 14% /var

MRTG should agree with df. If it doesn't, MRTG is wrong.

There is a bit of trickiness with selecting your dskPercent OIDs. They follow the order they are listed in within snmpd.conf. Suppose you have four disk partitions listed like this:

	disk /
	disk /usr
	disk /var
	disk /home

Then, for /var and /home, you need to use dskPercent.3 and dskPercent.4.

The computing world likes to cause confusion by numbering some things from zero, and some things from 1. Disk partitions on Linux start at 1.