MRTG was initially designed to monitor network traffic (hence the name Multi Router Traffic Grapher) – but it is so extensible it can be used to monitor nearly anything!
Here I show how to use mrtg to monitor disk usage on a Unix/Linux box with the df command.
The quick way
I assume you have mrtg installed with the config files in
cd /etc/mrtg wget <http://www.ianrogers.net/downloads/df-mrtg.tgz> tar xvfz df-mrtg.tgz rm df-mrtg.tgz
/etc/mrtg/df.cfg and change the
WorkDir line to an appropriate directory within your website.
You’ll have to create the directory as mrtg won’t do it for you!
/etc/crontab to include the line
0-59/5 * * * * root /usr/local/mrtg-2/bin/mrtg /etc/mrtg/df.cfg
Wait for two 5 minute cycles to pass. Cron will send two warning messages to the root user containing lines like:
Rateup WARNING: /usr/local/mrtg-2/bin/rateup could not read the primary log file for df-root Rateup WARNING: /home/local/mrtg-2/bin/rateup Can't remove df-root.old updating log file
etc. one each for the first two cycles, and then everything should be fine.
The tar file contains only two files:
-rwxr--r-- 1 root root 659 May 7 13:58 df-mrtg -rw-r--r-- 1 root root 3561 Jun 18 12:41 df.cfg
df.cfg controls the mrtg output
df-mrtg takes one argument: a directory in a disk partition, reads the df info and formats it for mrtg. It reads the disk usage in 1k blocks as mrtg seems to use 32 bit integers internally – i.e. it can’t deal with big enough numbers if you try to report gigabyte disks in bytes!
If you want one of the partitions to be displayed as the default page then edit df.cfg. For example,
to display the
/home partition by default change the 9 occurrences of df-home in df.cfg to index
This has been tested on a Sun Cobalt RaQ3, but should work well with only minor changes, if any, on other Unix systems.