[mrtg] Re: Monitoring disk space

Jeff Liebermann jeffl at comix.santa-cruz.ca.us
Wed Oct 24 23:26:37 MEST 2001

On Wed, Oct 24, 2001 at 02:37:34PM +0100, Wagner Garcia Campagner wrote:
> Is there a way for me to monitor the disk usage in a server???

Since you didn't specify any particular operating systems, I'll
assume that you're using my favorite; SCO Unix OSR5 3.2v5.0.5.
You could use "hostmib" for your unspecified operating system,
but that's no fun.  I'm partial to shell scripts this week.

---------------------  cut here -----------------------------
The trick below is using the shell "set" command to break
apart the output into fields that conveniently also removes
any leading spaces.  Although leading spaces are NOT a problem
in the current version MRTG, it was a problem in the past.
This method can be used to graph anything that can be belched
to a single line of output.  I have graphed the output of
df, uptime, netstat, llistat, sar, and various database
utilities.  The only requirement is that the shell script can
reduce the desired program output to a single line and that
it be consistant.  Beware of trying to graph anything that takes
more than 5 minutes to process (i.e. uutraf).  Also, beware
of trying to graph Linux ping which returns values in usec,
msec, and seconds which makes graphing an adventure.

In the diskspace example below, I added an inode count because
one of my news filesystems is currently stuck at 65,000 inodes
max per filesystem and I'm constantly running out of inodes.
Since there is always more than one line of output, the tail -1
command is necessary to extract the desired line.

# Get diskspace and inode consumption for MRTG.
# by Jeff Liebermann  04/15/98
# usage: script_name Filesystem
# i.e.   script_name /dev/root
# The format belched by df -v -i
# Mount Dir  Filesystem           blocks   used   free %used iused ifree %iused
# /          /dev/root           1050000 972132  77868  93%  59872 71384   46%
# /stand     /dev/boot             30000  16414  13586  55%     14  3746    1%
# /u         /dev/u               600000 252560 347440  43%   4259 70741    6%
# /usr/spool /dev/news            184492   5830 178662   4%      8 23056    1%
#	Grab last line of df -v -i and remove percent signs
drivel=`df -v -i $1 | tail -1 | tr -d %`   # just one Filesystem
#	Break apart into fields using IFS seperators
set $drivel
#	Print % diskspace used, percent % used, filler, filler.
#	The $6 and $9 are the 6th and 9th fields of the df output.
echo "$6\n$9\n0\n0"

---------------------  cut here -----------------------------

# Part of mrtg.cfg
Target[rdf.1]: `dff.sh /dev/root`
Title[rdf.1]: Comix Disk Useage /dev/root
PageTop[rdf.1]: <H1>Comix Disk Useage /dev/root</H1>
Options[rdf.1]: growright, gauge, nopercent
Unscaled[rdf.1]: dwmy
YLegend[rdf.1]: % Used
ShortLegend[rdf.1]: %
Legend1[rdf.1]: Avg Percent Diskspace Used
Legend2[rdf.1]: Avg Percent Inodes Used
LegendI[rdf.1]: Diskspace
LegendO[rdf.1]: Inodes

# Jeff Liebermann  Liebermann Design  150 Felker St #D  Santa Cruz  CA  95060
# 831.336.2558 voice   831.426.1240 fax   831.421.6491 digital_pager
# jeffl at comix.santa-cruz.ca.us  http://www.cruzio.com/~jeffl

Unsubscribe mailto:mrtg-request at list.ee.ethz.ch?subject=unsubscribe
Archive     http://www.ee.ethz.ch/~slist/mrtg
FAQ         http://faq.mrtg.org    Homepage     http://www.mrtg.org
WebAdmin    http://www.ee.ethz.ch/~slist/lsg2.cgi

More information about the mrtg mailing list