# This file defines how RRD graphs are generated by the hobbitgraph CGI.
#
# Each section begins with a "[SERVICE]" indicator - this is the name passed
# to hobbitgraph.cgi?host=foo&service=SERVICE
#
# A graph has a TITLE and a YAXIS setting - these are texts shown as the
# title of the graph, and the YAXIS heading respectively. (The X-axis is
# always time-based).
#
# If a fixed set of RRD files are used for the graph, you just write those
# in the RRDtool definitions. 
#
# For graphs that use multiple RRD files as input, you specify a filename
# pattern in the FNPATTERN statement, and optionally a pattern of files
# to exclude from the graph with EXFNPATTERN (see "[tcp]" for an example).
# When FNPATTERN is used, you can use "@RRDFN@" in the RRDtool definitions
# to pick up each filename. "@RRDIDX@" is an index (starting at 0) for each
# file in the set. "@RRDPARAM@" contains the first word extracted from the
# pattern of files (see e.g. "[memory]" how this is used). "@COLOR@" picks
# a new color for each graph automatically.
#
# The remainder of the lines in each definition are passed directly to the
# RRDtool rrd_graph() routine.
#
# Most of these RRD definitions are from the larrd-grapher.cgi from LARRD 0.43c.

[la]
	TITLE CPU Load
	YAXIS Load
	DEF:avg=la.rrd:la:AVERAGE
	CDEF:la=avg,100,/
	AREA:la#00CC00:CPU Load Average
	-u 1.0
	GPRINT:la:LAST: \: %5.1lf (cur)
	GPRINT:la:MAX: \: %5.1lf (max)
	GPRINT:la:MIN: \: %5.1lf (min)
	GPRINT:la:AVERAGE: \: %5.1lf (avg)\n

[la-multi]
	TITLE Multi-host CPU Load
	YAXIS Load
	FNPATTERN la.rrd
	DEF:avg@RRDIDX@=@RRDFN@:la:AVERAGE
	CDEF:la@RRDIDX@=avg@RRDIDX@,100,/
	LINE2:la@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 1.0
	GPRINT:la@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:la@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:la@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:la@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[la1]
	TITLE CPU Utilitization
	YAXIS % Used
	-u 100
	-r
	DEF:cpu_idl=vmstat.rrd:cpu_idl:AVERAGE
	CDEF:pbusy=100,cpu_idl,-
	LINE2:pbusy#00CC00:% CPU busy
	GPRINT:pbusy:LAST: \: %5.1lf (cur)
	GPRINT:pbusy:MAX: \: %5.1lf (max)
	GPRINT:pbusy:MIN: \: %5.1lf (min)
	GPRINT:pbusy:AVERAGE: \: %5.1lf (avg)\n

[la1-multi]
	TITLE Multi-host CPU Utilitization
	YAXIS % Used
	FNPATTERN vmstat.rrd
	-u 100
	-r
	DEF:cpu_idl@RRDIDX@=@RRDFN@:cpu_idl:AVERAGE
	CDEF:pbusy@RRDIDX@=100,cpu_idl@RRDIDX@,-
	LINE2:pbusy@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:pbusy@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:pbusy@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:pbusy@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:pbusy@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[clock]
	TITLE Clock offset
	YAXIS Seconds
	DEF:offset=clock.rrd:la:AVERAGE
	LINE2:offset#00CC00:Seconds
	GPRINT:offset:LAST: \: %5.1lf (cur)
	GPRINT:offset:MAX: \: %5.1lf (max)
	GPRINT:offset:MIN: \: %5.1lf (min)
	GPRINT:offset:AVERAGE: \: %5.1lf (avg)\n

[disk]
	FNPATTERN disk(.*).rrd
	TITLE Disk Utilization
	YAXIS % Full
	DEF:p@RRDIDX@=@RRDFN@:pct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-l 0
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[disk1]
	FNPATTERN disk(.*).rrd
	TITLE Disk Utilization
	YAXIS Used
	DEF:p@RRDIDX@=@RRDFN@:used:AVERAGE
	CDEF:p@RRDIDX@t=p@RRDIDX@,1024,*
	LINE2:p@RRDIDX@t#@COLOR@:@RRDPARAM@
	-l 0
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf KB (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf KB (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf KB (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf KB (avg)\n

# The qtree graphs are based on the qtree report from filerstats2bb.pl
# These handle NetApp storage devices.
[qtree]
	FNPATTERN qtree(.+).rrd
	TITLE Qtree Utilization
	YAXIS % Full
	DEF:p@RRDIDX@=@RRDFN@:pct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-l 0
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

# The qtree graphs are based on the inode report from filerstats2bb.pl
# These handle NetApp storage devices
# An enhanced disk script that just runs "df -i" could probably get the
# same data.
[inode]
	FNPATTERN inode(.+).rrd
	TITLE inode Utilization
	YAXIS % Full
	DEF:p@RRDIDX@=@RRDFN@:pct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-l 0
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[memory]
	FNPATTERN memory.(.+).rrd
	TITLE Memory Utilization
	YAXIS % Used
	DEF:p@RRDIDX@=@RRDFN@:realmempct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-b 1024
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[ram]
	TITLE RAM Utilization
	YAXIS % Used
	DEF:p=memory.real.rrd:realmempct:AVERAGE
	LINE2:p#0000FF:% RAM used
	-u 100
	-b 1024
	GPRINT:p:LAST: \: %5.1lf (cur)
	GPRINT:p:MAX: \: %5.1lf (max)
	GPRINT:p:MIN: \: %5.1lf (min)
	GPRINT:p:AVERAGE: \: %5.1lf (avg)\n

[ram-multi]
	TITLE Multi-host RAM Utilization
	FNPATTERN memory.real.rrd
	YAXIS % Used
	DEF:p@RRDIDX@=@RRDFN@:realmempct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-b 1024
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[swap]
	TITLE Swap Utilization
	YAXIS % Used
	DEF:p=memory.swap.rrd:realmempct:AVERAGE
	LINE2:p#0000FF:% Swap used
	-u 100
	-b 1024
	GPRINT:p:LAST: \: %5.1lf (cur)
	GPRINT:p:MAX: \: %5.1lf (max)
	GPRINT:p:MIN: \: %5.1lf (min)
	GPRINT:p:AVERAGE: \: %5.1lf (avg)\n

[swap-multi]
	TITLE Multi-host Swap Utilization
	FNPATTERN memory.swap.rrd
	YAXIS % Used
	DEF:p@RRDIDX@=@RRDFN@:realmempct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-b 1024
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[mem]
	TITLE Actual Memory Utilization
	YAXIS % Used
	DEF:p=memory.actual.rrd:realmempct:AVERAGE
	LINE2:p#0000FF:% Actual memory used
	-u 100
	-b 1024
	GPRINT:p:LAST: \: %5.1lf (cur)
	GPRINT:p:MAX: \: %5.1lf (max)
	GPRINT:p:MIN: \: %5.1lf (min)
	GPRINT:p:AVERAGE: \: %5.1lf (avg)\n

[mem-multi]
	TITLE Multi-host Actual Memory Utilization
	FNPATTERN memory.actual.rrd
	YAXIS % Used
	DEF:p@RRDIDX@=@RRDFN@:realmempct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	-b 1024
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[users]
	TITLE Users and Processes
	YAXIS #
	DEF:p=procs.rrd:la:AVERAGE
	DEF:u=users.rrd:la:AVERAGE
	AREA:p#00CC00:Processes
	LINE1:u#000099:Users
	COMMENT:\n
	GPRINT:p:LAST:Processes   \: %5.1lf%s (cur)
	GPRINT:p:MAX: \: %5.1lf%s (max)
	GPRINT:p:MIN: \: %5.1lf%s (min)
	GPRINT:p:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:u:LAST:Users       \: %5.1lf%s (cur)
	GPRINT:u:MAX: \: %5.1lf%s (max)
	GPRINT:u:MIN: \: %5.1lf%s (min)
	GPRINT:u:AVERAGE: \: %5.1lf%s (avg)\n

[users-multi]
	TITLE Multi-host users
	FNPATTERN users.rrd
	YAXIS #
	DEF:u@RRDIDX@=@RRDFN@:la:AVERAGE
	LINE2:u@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:u@RRDIDX@:LAST:Users       \: %5.1lf%s (cur)
	GPRINT:u@RRDIDX@:MAX: \: %5.1lf%s (max)
	GPRINT:u@RRDIDX@:MIN: \: %5.1lf%s (min)
	GPRINT:u@RRDIDX@:AVERAGE: \: %5.1lf%s (avg)\n

[tcp]
	# TCP tests - include all, except the HTTP tests as they tend to have
	# much longer response times than the normal tcp tests.
	FNPATTERN tcp.(.+).rrd
	EXFNPATTERN tcp.http.(.+).rrd
	TITLE TCP Connection Times
	YAXIS Seconds
	DEF:p@RRDIDX@=@RRDFN@:sec:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf%s (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf%s (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf%s (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf%s (avg)\n

[http]
	FNPATTERN tcp.http.(.+).rrd
	TITLE HTTP Response Times
	YAXIS Seconds
	DEF:p@RRDIDX@=@RRDFN@:sec:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf%s (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf%s (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf%s (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf%s (avg)\n

[conn-multi]
	FNPATTERN tcp.conn.rrd
	TITLE PING Round-trip time
	YAXIS Seconds
	DEF:p@RRDIDX@=@RRDFN@:sec:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf%s (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf%s (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf%s (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf%s (avg)\n

[ntpstat]
	TITLE NTP accuracy
	YAXIS Offset (ms)
	DEF:u=ntpstat.rrd:offsetms:AVERAGE
	LINE2:u#FF0000:Offset (ms)
	COMMENT:\n
	GPRINT:u:LAST: \: %5.2lf ms (cur)\n
	GPRINT:u:MAX: \: %5.2lf ms (max)\n
	GPRINT:u:MIN: \: %5.2lf ms (min)\n
	GPRINT:u:AVERAGE: \: %5.2lf ms (avg)\n

[vmstat]
	TITLE CPU Utilization
	YAXIS % Load
	-u 100
	-r
	DEF:cpu_idl=vmstat.rrd:cpu_idl:AVERAGE
	DEF:cpu_usr=vmstat.rrd:cpu_usr:AVERAGE
	DEF:cpu_sys=vmstat.rrd:cpu_sys:AVERAGE
	AREA:cpu_sys#FF0000:System
	STACK:cpu_usr#FFFF00:User
	STACK:cpu_idl#00FF00:Idle
	COMMENT:\n
	GPRINT:cpu_sys:LAST:System  \: %5.1lf (cur)
	GPRINT:cpu_sys:MAX: \: %5.1lf (max)
	GPRINT:cpu_sys:MIN: \: %5.1lf (min)
	GPRINT:cpu_sys:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_usr:LAST:User    \: %5.1lf (cur)
	GPRINT:cpu_usr:MAX: \: %5.1lf (max)
	GPRINT:cpu_usr:MIN: \: %5.1lf (min)
	GPRINT:cpu_usr:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_idl:LAST:Idle    \: %5.1lf (cur)
	GPRINT:cpu_idl:MAX: \: %5.1lf (max)
	GPRINT:cpu_idl:MIN: \: %5.1lf (min)
	GPRINT:cpu_idl:AVERAGE: \: %5.1lf (avg)\n

[vmstat1]
	TITLE CPU Utilization
	YAXIS % Load
	-u 100
	-r
	DEF:cpu_idl=vmstat.rrd:cpu_idl:AVERAGE
	DEF:cpu_usr=vmstat.rrd:cpu_usr:AVERAGE
	DEF:cpu_sys=vmstat.rrd:cpu_sys:AVERAGE
	DEF:cpu_wait=vmstat.rrd:cpu_wait:AVERAGE
	AREA:cpu_sys#FF0000:System
	STACK:cpu_wait#774400:I/O wait
	STACK:cpu_usr#FFFF00:User
	STACK:cpu_idl#00FF00:Idle
	COMMENT:\n
	GPRINT:cpu_sys:LAST:System  \: %5.1lf (cur)
	GPRINT:cpu_sys:MAX: \: %5.1lf (max)
	GPRINT:cpu_sys:MIN: \: %5.1lf (min)
	GPRINT:cpu_sys:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_wait:LAST:I/O Wait\: %5.1lf (cur)
	GPRINT:cpu_wait:MAX: \: %5.1lf (max)
	GPRINT:cpu_wait:MIN: \: %5.1lf (min)
	GPRINT:cpu_wait:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_usr:LAST:User    \: %5.1lf (cur)
	GPRINT:cpu_usr:MAX: \: %5.1lf (max)
	GPRINT:cpu_usr:MIN: \: %5.1lf (min)
	GPRINT:cpu_usr:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_idl:LAST:Idle    \: %5.1lf (cur)
	GPRINT:cpu_idl:MAX: \: %5.1lf (max)
	GPRINT:cpu_idl:MIN: \: %5.1lf (min)
	GPRINT:cpu_idl:AVERAGE: \: %5.1lf (avg)\n

[vmstat2]
	TITLE CPU Utilization
	YAXIS % Load
	-u 1.0
	DEF:avg=la.rrd:la:AVERAGE
	CDEF:la=avg,100,/
	DEF:cpu_idl=vmstat.rrd:cpu_idl:AVERAGE
	CDEF:cpu_idl2=cpu_idl,100,/
	DEF:cpu_usr=vmstat.rrd:cpu_usr:AVERAGE
	CDEF:cpu_usr2=cpu_usr,100,/
	DEF:cpu_sys=vmstat.rrd:cpu_sys:AVERAGE
	CDEF:cpu_sys2=cpu_sys,100,/
	AREA:cpu_sys2#FF0000:System
	STACK:cpu_usr2#FFFF00:User
	STACK:cpu_idl2#00FF00:Idle
	LINE1:la#000099:CPU Load Average
	COMMENT:\n
	GPRINT:cpu_sys2:LAST:System           \: %5.1lf (cur)
	GPRINT:cpu_sys2:MAX: \: %5.1lf (max)
	GPRINT:cpu_sys2:MIN: \: %5.1lf (min)
	GPRINT:cpu_sys2:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_usr2:LAST:User             \: %5.1lf (cur)
	GPRINT:cpu_usr2:MAX: \: %5.1lf (max)
	GPRINT:cpu_usr2:MIN: \: %5.1lf (min)
	GPRINT:cpu_usr2:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:cpu_idl2:LAST:Idle             \: %5.1lf (cur)
	GPRINT:cpu_idl2:MAX: \: %5.1lf (max)
	GPRINT:cpu_idl2:MIN: \: %5.1lf (min)
	GPRINT:cpu_idl2:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:la:LAST:CPU Load Average \: %5.1lf (cur)
	GPRINT:la:MAX: \: %5.1lf (max)
	GPRINT:la:MIN: \: %5.1lf (min)
	GPRINT:la:AVERAGE: \: %5.1lf (avg)\n

[vmstat3]
	TITLE Interrupts and Context Switches
	YAXIS Average Events/sec
	DEF:int=vmstat.rrd:cpu_int:AVERAGE
	DEF:csw=vmstat.rrd:cpu_csw:AVERAGE
	LINE2:int#0000ff:Interrupts
	LINE2:csw#00FF00:Context Switches
	COMMENT:\n
	GPRINT:int:LAST:Interrupts        \: %5.1lf%s (cur)
	GPRINT:int:MAX: \: %5.1lf%s (max)
	GPRINT:int:MIN: \: %5.1lf%s (min)
	GPRINT:int:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:csw:LAST:Context Switches  \: %5.1lf%s (cur)
	GPRINT:csw:MAX: \: %5.1lf%s (max)
	GPRINT:csw:MIN: \: %5.1lf%s (min)
	GPRINT:csw:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat4]
	TITLE Swap Activity
	YAXIS Average kB/s
	-b 1024
	DEF:si=vmstat.rrd:mem_si:AVERAGE
	DEF:so=vmstat.rrd:mem_so:AVERAGE
	LINE2:si#0000ff:Memory Swapped from Disk
	LINE2:so#00FF00:Memory Swapped to Disk
	COMMENT:\n
	GPRINT:si:LAST:Memory Swapped from Disk  \: %5.1lf (cur)
	GPRINT:si:MAX: \: %5.1lf (max)
	GPRINT:si:MIN: \: %5.1lf (min)
	GPRINT:si:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:si:LAST:Memory Swapped to Disk    \: %5.1lf (cur)
	GPRINT:si:MAX: \: %5.1lf (max)
	GPRINT:si:MIN: \: %5.1lf (min)
	GPRINT:si:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat5]
	TITLE Block I/O
	YAXIS Average blocks/s
	DEF:bi=vmstat.rrd:dsk_bi:AVERAGE
	DEF:bo=vmstat.rrd:dsk_bo:AVERAGE
	LINE2:bi#0000FF:Blocks sent to a block device
	LINE2:bo#00FF00:Blocks received from a block device
	COMMENT:\n
	GPRINT:bi:LAST:Blocks sent to a block device        \: %5.1lf (cur)
	GPRINT:bi:MAX: \: %5.1lf (max)
	GPRINT:bi:MIN: \: %5.1lf (min)
	GPRINT:bi:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:bo:LAST:Blocks received from a block device  \: %5.1lf (cur)
	GPRINT:bo:MAX: \: %5.1lf (max)
	GPRINT:bo:MIN: \: %5.1lf (min)
	GPRINT:bo:AVERAGE: \: %5.1lf (avg)\n

[vmstat6]
	# This graph only works on some OS'es (Solaris)
	TITLE Memory Utilization
	YAXIS Size kB
	-b 1024
	DEF:free=vmstat.rrd:mem_free:AVERAGE
	CDEF:fr=free,1024,*
	DEF:swap=vmstat.rrd:mem_swap:AVERAGE
	CDEF:sw=swap,1024,*
	LINE2:fr#0000ff:Size of the free list
	LINE2:sw#00FF00:Swap space currently available
	COMMENT:\n
	GPRINT:fr:LAST:Size of the free list           \: %5.1lf%s (cur)
	GPRINT:fr:MAX: \: %5.1lf%s (max)
	GPRINT:fr:MIN: \: %5.1lf%s (min)
	GPRINT:fr:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:sw:LAST:Swap space currently available  \: %5.1lf%s (cur)
	GPRINT:sw:MAX: \: %5.1lf%s (max)
	GPRINT:sw:MIN: \: %5.1lf%s (min)
	GPRINT:sw:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat7]
	# This graph only works on some OS'es (Solaris)
	TITLE Memory Utilization
	YAXIS Events/s
	DEF:re=vmstat.rrd:mem_re:AVERAGE
	DEF:mf=vmstat.rrd:mem_mf:AVERAGE
	LINE2:re#0000ff:Page reclaims
	LINE2:mf#00FF00:Minor faults
	COMMENT:\n
	GPRINT:re:LAST:Page reclaims  \: %5.1lf%s (cur)
	GPRINT:re:MAX: \: %5.1lf%s (max)
	GPRINT:re:MIN: \: %5.1lf%s (min)
	GPRINT:re:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:mf:LAST:Minor faults   \: %5.1lf%s (cur)
	GPRINT:mf:MAX: \: %5.1lf%s (max)
	GPRINT:mf:MIN: \: %5.1lf%s (min)
	GPRINT:mf:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat8]
	# This graph only works on some OS'es (Solaris)
	TITLE Paging Activity
	YAXIS kB/s
	-b 1024
	DEF:pi=vmstat.rrd:mem_pi:AVERAGE
	CDEF:rpi=pi,1024,*
	DEF:po=vmstat.rrd:mem_po:AVERAGE
	CDEF:rpo=po,1024,*
	LINE2:rpi#0000ff:Paged in
	LINE2:rpo#00FF00:Paged out
	COMMENT:\n
	GPRINT:pi:LAST:Page Ins   \: %5.1lf%s (cur)
	GPRINT:pi:MAX: \: %5.1lf%s (max)
	GPRINT:pi:MIN: \: %5.1lf%s (min)
	GPRINT:pi:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:po:LAST:Page Outs  \: %5.1lf%s (cur)
	GPRINT:po:MAX: \: %5.1lf%s (max)
	GPRINT:po:MIN: \: %5.1lf%s (min)
	GPRINT:po:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat9]
	# This graph only works on some OS'es (Solaris)
	TITLE RAM Scan Rate
	YAXIS Pages scanned/s
	DEF:sr=vmstat.rrd:sr:AVERAGE
	AREA:sr#00CC00:Scan Rate
	-u 20
	GPRINT:sr:LAST: \: %5.1lf%s (cur)
	GPRINT:sr:MAX: \: %5.1lf%s (max)
	GPRINT:sr:MIN: \: %5.1lf%s (min)
	GPRINT:sr:AVERAGE: \: %5.1lf%s (avg)\n

[vmstat0]
	# This graph only works on some OS'es (Solaris)
	TITLE System Calls
	YAXIS System Calls/s
	DEF:cpu_syc=vmstat.rrd:cpu_syc:AVERAGE
	AREA:cpu_syc#00CC00:System Calls
	GPRINT:cpu_syc:LAST: \: %5.1lf%s (cur)
	GPRINT:cpu_syc:MAX: \: %5.1lf%s (max)
	GPRINT:cpu_syc:MIN: \: %5.1lf%s (min)
	GPRINT:cpu_syc:AVERAGE: \: %5.1lf%s (avg)\n

[netstat]
	TITLE TCP/IP statistics
	YAXIS Packets/second
	DEF:tcpInInorderPackets=netstat.rrd:tcpInInorderPackets:AVERAGE
	DEF:tcpOutDataPackets=netstat.rrd:tcpOutDataPackets:AVERAGE
	DEF:tcpRetransPackets=netstat.rrd:tcpRetransPackets:AVERAGE
	LINE3:tcpInInorderPackets#00FF00:In 
	LINE1:tcpOutDataPackets#0000FF:Out 
	LINE2:tcpRetransPackets#FF0000:Retrans 
	COMMENT:\n
	GPRINT:tcpInInorderPackets:LAST:In       \: %5.1lf%s (cur)
	GPRINT:tcpInInorderPackets:MAX: \: %5.1lf%s (max)
	GPRINT:tcpInInorderPackets:MIN: \: %5.1lf%s (min)
	GPRINT:tcpInInorderPackets:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpOutDataPackets:LAST:Out      \: %5.1lf%s (cur)
	GPRINT:tcpOutDataPackets:MAX: \: %5.1lf%s (max)
	GPRINT:tcpOutDataPackets:MIN: \: %5.1lf%s (min)
	GPRINT:tcpOutDataPackets:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpRetransPackets:LAST:Retrans  \: %5.1lf%s (cur)
	GPRINT:tcpRetransPackets:MAX: \: %5.1lf%s (max)
	GPRINT:tcpRetransPackets:MIN: \: %5.1lf%s (min)
	GPRINT:tcpRetransPackets:AVERAGE: \: %5.1lf%s (avg)\n

[netstat0]
	TITLE TCP/IP statistics
	YAXIS Bits/second
	DEF:tcpInInorderBytes=netstat.rrd:tcpInInorderBytes:AVERAGE
	DEF:tcpOutDataBytes=netstat.rrd:tcpOutDataBytes:AVERAGE
	DEF:tcpRetransBytes=netstat.rrd:tcpRetransBytes:AVERAGE
	CDEF:tcpInInorderBits=tcpInInorderBytes,8,*
	CDEF:tcpOutDataBits=tcpOutDataBytes,8,*
	CDEF:tcpRetransBits=tcpRetransBytes,8,*
	LINE3:tcpInInorderBits#00FF00:In 
	LINE1:tcpOutDataBits#0000FF:Out 
	LINE2:tcpRetransBits#FF0000:Retrans 
	COMMENT:\n
	GPRINT:tcpInInorderBits:LAST:In       \: %5.1lf%s (cur)
	GPRINT:tcpInInorderBits:MAX: \: %5.1lf%s (max)
	GPRINT:tcpInInorderBits:MIN: \: %5.1lf%s (min)
	GPRINT:tcpInInorderBits:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpOutDataBits:LAST:Out      \: %5.1lf%s (cur)
	GPRINT:tcpOutDataBits:MAX: \: %5.1lf%s (max)
	GPRINT:tcpOutDataBits:MIN: \: %5.1lf%s (min)
	GPRINT:tcpOutDataBits:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpRetransBits:LAST:Retrans  \: %5.1lf%s (cur)
	GPRINT:tcpRetransBits:MAX: \: %5.1lf%s (max)
	GPRINT:tcpRetransBits:MIN: \: %5.1lf%s (min)
	GPRINT:tcpRetransBits:AVERAGE: \: %5.1lf%s (avg)\n

[netstat1]
	TITLE UDP Statistics
	YAXIS # Datagrams
	DEF:udpInDatagrams=netstat.rrd:udpInDatagrams:AVERAGE
	DEF:udpOutDatagrams=netstat.rrd:udpOutDatagrams:AVERAGE
	DEF:udpInErrors=netstat.rrd:udpInErrors:AVERAGE
	LINE3:udpInDatagrams#00FF00:UDP In Datagrams
	LINE1:udpOutDatagrams#0000FF:UDP Out Datagrams
	LINE2:udpInErrors#FF0000:UDP In Errors
	COMMENT:\n
	GPRINT:udpInDatagrams:LAST:UDP In Datagrams       \: %5.1lf%s (cur)
	GPRINT:udpInDatagrams:MAX: \: %5.1lf%s (max)
	GPRINT:udpInDatagrams:MIN: \: %5.1lf%s (min)
	GPRINT:udpInDatagrams:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:udpOutDatagrams:LAST:UDP Out Datagrams      \: %5.1lf%s (cur)
	GPRINT:udpOutDatagrams:MAX: \: %5.1lf%s (max)
	GPRINT:udpOutDatagrams:MIN: \: %5.1lf%s (min)
	GPRINT:udpOutDatagrams:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:udpInErrors:LAST:UDP In Errors          \: %5.1lf%s (cur)
	GPRINT:udpInErrors:MAX: \: %5.1lf%s (max)
	GPRINT:udpInErrors:MIN: \: %5.1lf%s (min)
	GPRINT:udpInErrors:AVERAGE: \: %5.1lf%s (avg)\n

[netstat2]
	TITLE TCP Statistics
	YAXIS # Events
	DEF:tcpActiveOpens=netstat.rrd:tcpActiveOpens:AVERAGE
	DEF:tcpPassiveOpens=netstat.rrd:tcpPassiveOpens:AVERAGE
	DEF:tcpAttemptFails=netstat.rrd:tcpAttemptFails:AVERAGE
	DEF:tcpEstabResets=netstat.rrd:tcpEstabResets:AVERAGE
	LINE2:tcpActiveOpens#0000FF:TCP Active Open
	LINE2:tcpPassiveOpens#000088:TCP Passive Open
	LINE2:tcpAttemptFails#FF0000:TCP Attempts Fail
	LINE2:tcpEstabResets#88FF00:TCP Established Resets
	COMMENT:\n
	GPRINT:tcpActiveOpens:LAST:TCP Active Opens            \: %5.1lf%s (cur)
	GPRINT:tcpActiveOpens:MAX: \: %5.1lf%s (max)
	GPRINT:tcpActiveOpens:MIN: \: %5.1lf%s (min)
	GPRINT:tcpActiveOpens:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpPassiveOpens:LAST:TCP Passive Opens           \: %5.1lf%s (cur)
	GPRINT:tcpPassiveOpens:MAX: \: %5.1lf%s (max)
	GPRINT:tcpPassiveOpens:MIN: \: %5.1lf%s (min)
	GPRINT:tcpPassiveOpens:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpAttemptFails:LAST:TCP Failed Attempts         \: %5.1lf%s (cur)
	GPRINT:tcpAttemptFails:MAX: \: %5.1lf%s (max)
	GPRINT:tcpAttemptFails:MIN: \: %5.1lf%s (min)
	GPRINT:tcpAttemptFails:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:tcpEstabResets:LAST:TCP Established Resets      \: %5.1lf%s (cur)
	GPRINT:tcpEstabResets:MAX: \: %5.1lf%s (max)
	GPRINT:tcpEstabResets:MIN: \: %5.1lf%s (min)
	GPRINT:tcpEstabResets:AVERAGE: \: %5.1lf%s (avg)\n

[netstat3]
	TITLE Established TCP Connections
	YAXIS # Connections
	DEF:tcpCurrEstab=netstat.rrd:tcpCurrEstab:AVERAGE
	LINE2:tcpCurrEstab#0000FF:TCP Established Connections
	COMMENT:\n
	GPRINT:tcpCurrEstab:LAST:TCP Established Connections \: %5.1lf%s (cur)
	GPRINT:tcpCurrEstab:MAX: \: %5.1lf%s (max)
	GPRINT:tcpCurrEstab:MIN: \: %5.1lf%s (min)
	GPRINT:tcpCurrEstab:AVERAGE: \: %5.1lf%s (avg)\n

[netstat3-multi]
	TITLE Multi-host TCP Connections
	YAXIS # Connections
	FNPATTERN netstat.rrd
	DEF:tcpCurrEstab@RRDIDX@=@RRDFN@:tcpCurrEstab:AVERAGE
	LINE2:tcpCurrEstab@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:tcpCurrEstab@RRDIDX@:LAST:# Est. \: %5.1lf%s (cur)
	GPRINT:tcpCurrEstab@RRDIDX@:MAX: \: %5.1lf%s (max)
	GPRINT:tcpCurrEstab@RRDIDX@:MIN: \: %5.1lf%s (min)
	GPRINT:tcpCurrEstab@RRDIDX@:AVERAGE: \: %5.1lf%s (avg)\n

[iostat]
	TITLE I/O Utilization
	YAXIS Stats
	FNPATTERN iostat.(.+).rrd
	DEF:p@RRDIDX@B=@RRDFN@:b:AVERAGE
	DEF:p@RRDIDX@A=@RRDFN@:asvc_t:AVERAGE
	DEF:p@RRDIDX@W=@RRDFN@:wsvc_t:AVERAGE
	CDEF:p@RRDIDX@t=p@RRDIDX@B,5,GT,p@RRDIDX@B,UNKN,IF
	LINE2:p@RRDIDX@t#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:p@RRDIDX@B:LAST:B       \: %5.1lf (cur)
	GPRINT:p@RRDIDX@B:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@B:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@B:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:p@RRDIDX@A:LAST:asvc_t  \: %5.1lf (cur)
	GPRINT:p@RRDIDX@A:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@A:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@A:AVERAGE: \: %5.1lf (avg)\n
	GPRINT:p@RRDIDX@W:LAST:wsvc_t  \: %5.1lf (cur)
	GPRINT:p@RRDIDX@W:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@W:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@W:AVERAGE: \: %5.1lf (avg)\n
	COMMENT:\n

[apache]
	TITLE Apache Utilization
	YAXIS Activity
	DEF:TA=apache.rrd:TA:AVERAGE
	CDEF:TA1=TA,300,*
	DEF:TKB=apache.rrd:TKB:AVERAGE
	CDEF:TKB1=TKB,300,*
	LINE2:TA1#0000FF:TA (# Accesses)
	LINE2:TKB1#FF0000:TKB (kBytes Transferred)
	COMMENT:\n
	GPRINT:TA1:LAST:TA    \: %5.1lf%s (cur)
	GPRINT:TA1:MAX: \: %5.1lf%s (max)
	GPRINT:TA1:MIN: \: %5.1lf%s (min)
	GPRINT:TA1:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:TKB1:LAST:TKB   \: %5.1lf%s (cur)
	GPRINT:TKB1:MAX: \: %5.1lf%s (max)
	GPRINT:TKB1:MIN: \: %5.1lf%s (min)
	GPRINT:TKB1:AVERAGE: \: %5.1lf%s (avg)\n

[apache1]
	TITLE Apache Workers
	YAXIS # Worker Threads/Processes
	#DEF:BS=apache.rrd:BS:AVERAGE
	#DEF:IS=apache.rrd:IS:AVERAGE
	DEF:BW=apache.rrd:BW:AVERAGE
	DEF:IW=apache.rrd:IW:AVERAGE
	#LINE2:BS#00CC00:BS
	#LINE2:IS#FF00FF:IS
	LINE2:BW#555555:BW Busy Workers
	LINE2:IW#880000:IW Idle Workers
	COMMENT:\n
	GPRINT:BW:LAST:BW   \: %5.1lf%s (cur)
	GPRINT:BW:MAX: \: %5.1lf%s (max)
	GPRINT:BW:MIN: \: %5.1lf%s (min)
	GPRINT:BW:AVERAGE: \: %5.1lf%s (avg)\n
	GPRINT:IW:LAST:IW   \: %5.1lf%s (cur)
	GPRINT:IW:MAX: \: %5.1lf%s (max)
	GPRINT:IW:MIN: \: %5.1lf%s (min)
	GPRINT:IW:AVERAGE: \: %5.1lf%s (avg)\n

[apache2]
	TITLE Apache CPU Utilization
	YAXIS CPU Load
	DEF:CPU=apache.rrd:CPU:AVERAGE
	LINE2:CPU#000088:CPU
	COMMENT:\n
	GPRINT:CPU:LAST:CPU   \: %5.1lf (cur)
	GPRINT:CPU:MAX: \: %5.1lf (max)
	GPRINT:CPU:MIN: \: %5.1lf (min)
	GPRINT:CPU:AVERAGE: \: %5.1lf (avg)\n

[apache3]
	TITLE Apache Requests/Second
	YAXIS # Requests
	DEF:RPS=apache.rrd:REQPERSEC:AVERAGE
	LINE2:RPS#000088:RPS
	COMMENT:\n
	GPRINT:RPS:LAST:Requests per Second   \: %5.1lf (cur)
	GPRINT:RPS:MAX: \: %5.1lf (max)
	GPRINT:RPS:MIN: \: %5.1lf (min)
	GPRINT:RPS:AVERAGE: \: %5.1lf (avg)\n

[apache3-multi]
	TITLE Multi-Host Apache Requests/Second
	FNPATTERN apache.rrd
	YAXIS # Requests / seconds
	# --slope-mode
	DEF:RPS@RRDIDX@=@RRDFN@:REQPERSEC:AVERAGE
	LINE2:RPS@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:RPS@RRDIDX@:LAST:Requests per Second  \: %5.1lf (cur)
	GPRINT:RPS@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:RPS@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:RPS@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[bea]
	FNPATTERN bea.memory.(.+).rrd
	TITLE BEA/Weblogic % Heap Free
	YAXIS % Free
	DEF:free@RRDIDX@=@RRDFN@:freeheap:AVERAGE
	DEF:used@RRDIDX@=@RRDFN@:usedheap:AVERAGE
	DEF:total@RRDIDX@=@RRDFN@:totalheap:AVERAGE
	CDEF:mbfree@RRDIDX@=free@RRDIDX@,1048576,/
	CDEF:mbused@RRDIDX@=used@RRDIDX@,1048576,/
	CDEF:mbtotal@RRDIDX@=total@RRDIDX@,1048576,/
	CDEF:pctfree@RRDIDX@=mbfree@RRDIDX@,100,*,mbtotal@RRDIDX@,/
	LINE2:pctfree@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:mbused@RRDIDX@:LAST:Used \: %8.1lf MB (cur)
	GPRINT:mbused@RRDIDX@:MAX: \: %8.1lf MB (max)
	GPRINT:mbused@RRDIDX@:MIN: \: %8.1lf MB (min)
	GPRINT:mbused@RRDIDX@:AVERAGE: \: %8.1lf MB (avg)\n
	GPRINT:mbfree@RRDIDX@:LAST:Free \: %8.1lf MB (cur)
	GPRINT:mbfree@RRDIDX@:MAX: \: %8.1lf MB (max)
	GPRINT:mbfree@RRDIDX@:MIN: \: %8.1lf MB (min)
	GPRINT:mbfree@RRDIDX@:AVERAGE: \: %8.1lf MB (avg)\n

[bea2]
	FNPATTERN bea.memory.(.+).rrd
	TITLE BEA/Weblogic % Physical Memory Free
	YAXIS % Free
	DEF:free@RRDIDX@=@RRDFN@:freephysmem:AVERAGE
	DEF:used@RRDIDX@=@RRDFN@:usedphysmem:AVERAGE
	DEF:total@RRDIDX@=@RRDFN@:totalphysmem:AVERAGE
	CDEF:mbfree@RRDIDX@=free@RRDIDX@,1048576,/
	CDEF:mbused@RRDIDX@=used@RRDIDX@,1048576,/
	CDEF:mbtotal@RRDIDX@=total@RRDIDX@,1048576,/
	CDEF:pctfree@RRDIDX@=mbfree@RRDIDX@,100,*,mbtotal@RRDIDX@,/
	LINE2:pctfree@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:mbused@RRDIDX@:LAST:Used \: %8.1lf MB (cur)
	GPRINT:mbused@RRDIDX@:MAX: \: %8.1lf MB (max)
	GPRINT:mbused@RRDIDX@:MIN: \: %8.1lf MB (min)
	GPRINT:mbused@RRDIDX@:AVERAGE: \: %8.1lf MB (avg)\n
	GPRINT:mbfree@RRDIDX@:LAST:Free \: %8.1lf MB (cur)
	GPRINT:mbfree@RRDIDX@:MAX: \: %8.1lf MB (max)
	GPRINT:mbfree@RRDIDX@:MIN: \: %8.1lf MB (min)
	GPRINT:mbfree@RRDIDX@:AVERAGE: \: %8.1lf MB (avg)\n

[bea3]
	FNPATTERN bea.threads.(.+).weblogic.kernel.Default.rrd
	TITLE BEA/Weblogic kernel.Default Idle Threads
	YAXIS # Idle Threads
	DEF:threads@RRDIDX@=@RRDFN@:currentidlecount:AVERAGE
	LINE2:threads@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:threads@RRDIDX@:LAST:Free \: %4.2lf (cur)
	GPRINT:threads@RRDIDX@:MAX: \: %4.2lf (max)
	GPRINT:threads@RRDIDX@:MIN: \: %4.2lf (min)
	GPRINT:threads@RRDIDX@:AVERAGE: \: %4.2lf (avg)\n

[bea4]
	FNPATTERN bea.threads.(.+).weblogic.kernel.Default.rrd
	TITLE BEA/Weblogic kernel.Default Requests
	YAXIS # Requests
	DEF:reqs@RRDIDX@=@RRDFN@:totalcount:AVERAGE
	LINE2:reqs@RRDIDX@#@COLOR@:@RRDPARAM@
	COMMENT:\n
	GPRINT:reqs@RRDIDX@:LAST:Free \: %4.2lf (cur)
	GPRINT:reqs@RRDIDX@:MAX: \: %4.2lf (max)
	GPRINT:reqs@RRDIDX@:MIN: \: %4.2lf (min)
	GPRINT:reqs@RRDIDX@:AVERAGE: \: %4.2lf (avg)\n

[bind]
	TITLE BIND Utilization
	YAXIS Stats
	DEF:A=bind.rrd:A:AVERAGE
	DEF:ANY=bind.rrd:ANY:AVERAGE
	DEF:AXFR=bind.rrd:AXFR:AVERAGE
	DEF:MX=bind.rrd:MX:AVERAGE
	DEF:O=bind.rrd:O:AVERAGE
	DEF:PTR=bind.rrd:PTR:AVERAGE
	DEF:SOA=bind.rrd:SOA:AVERAGE
	CDEF:A1=A,300,*
	CDEF:ANY1=ANY,300,*
	CDEF:AXFR1=AXFR,300,*
	CDEF:MX1=MX,300,*
	CDEF:O1=O,300,*
	CDEF:PTR1=PTR,300,*
	CDEF:SOA1=SOA,300,*
	LINE2:A1#0000FF:A
	LINE2:ANY1#FF0000:ANY
	LINE2:AXFR1#00CC00:AXFR
	LINE2:MX1#FF00FF:MX
	LINE2:O1#555555:O
	LINE2:PTR1#880000:PTR
	LINE2:SOA1#000088:SOA
	COMMENT:\n
	GPRINT:A1:LAST:A     \: %5.1lf (cur) 
	GPRINT:A1:MAX:A    \: %5.1lf (max) 
	GPRINT:A1:MIN:A     \: %5.1lf (min) 
	GPRINT:A1:AVERAGE:A     \: %5.1lf (avg)\n
	GPRINT:ANY1:LAST:ANY   \: %5.1lf (cur) 
	GPRINT:ANY1:MAX:ANY  \: %5.1lf (max) 
	GPRINT:ANY1:MIN:ANY   \: %5.1lf (min) 
	GPRINT:ANY1:AVERAGE:ANY   \: %5.1lf (avg)\n
	GPRINT:AXFR1:LAST:AXFR  \: %5.1lf (cur) 
	GPRINT:AXFR1:MAX:AXFR \: %5.1lf (max) 
	GPRINT:AXFR1:MIN:AXFR  \: %5.1lf (min) 
	GPRINT:AXFR1:AVERAGE:AXFR  \: %5.1lf (avg)\n
	GPRINT:MX1:LAST:MX    \: %5.1lf (cur) 
	GPRINT:MX1:MAX:MX   \: %5.1lf (max) 
	GPRINT:MX1:MIN:MX    \: %5.1lf (min) 
	GPRINT:MX1:AVERAGE:MX    \: %5.1lf (avg)\n
	GPRINT:O1:LAST:O     \: %5.1lf (cur) 
	GPRINT:O1:MAX:O    \: %5.1lf (max) 
	GPRINT:O1:MIN:O     \: %5.1lf (min) 
	GPRINT:O1:AVERAGE:O     \: %5.1lf (avg)\n
	GPRINT:PTR1:LAST:PTR   \: %5.1lf (cur) 
	GPRINT:PTR1:MAX:PTR  \: %5.1lf (max) 
	GPRINT:PTR1:MIN:PTR   \: %5.1lf (min) 
	GPRINT:PTR1:AVERAGE:PTR   \: %5.1lf (avg)\n
	GPRINT:SOA1:LAST:SOA   \: %5.1lf (cur) 
	GPRINT:SOA1:MAX:SOA  \: %5.1lf (max) 
	GPRINT:SOA1:MIN:SOA   \: %5.1lf (min) 
	GPRINT:SOA1:AVERAGE:SOA   \: %5.1lf (avg)\n

[sendmail]
	FNPATTERN sendmail.(.+).rrd
	TITLE Sendmail Activity
	YAXIS Messages
	DEF:p@RRDIDX@IN=@RRDFN@:msgsfr:AVERAGE
	DEF:p@RRDIDX@OUT=@RRDFN@:msgsto:AVERAGE
	CDEF:p@RRDIDX@IN1=p@RRDIDX@IN,300,*
	CDEF:p@RRDIDX@OUT1=p@RRDIDX@OUT,300,*
	LINE1:p@RRDIDX@IN1#@COLOR@:@RRDPARAM@ IN
	LINE2:p@RRDIDX@OUT1#@COLOR@:@RRDPARAM@ OUT
	COMMENT:\n
	GPRINT:p@RRDIDX@IN1:LAST:@RRDPARAM@ in   %5.1lf (cur)
	GPRINT:p@RRDIDX@IN1:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@IN1:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@IN1:AVERAGE: \: %5.1lf (avg)
	COMMENT:\n
	GPRINT:p@RRDIDX@OUT1:LAST:@RRDPARAM@ out  %5.1lf (cur)
	GPRINT:p@RRDIDX@OUT1:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@OUT1:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@OUT1:AVERAGE: \: %5.1lf (avg)\n
	COMMENT:\n

[sendmail1]
        FNPATTERN sendmail.(.+).rrd
        TITLE Sendmail Reject/Discards
        YAXIS Messages
        DEF:p@RRDIDX@IN=@RRDFN@:msgsrej:AVERAGE
        DEF:p@RRDIDX@OUT=@RRDFN@:msgsdis:AVERAGE
        CDEF:p@RRDIDX@IN1=p@RRDIDX@IN,300,*
        CDEF:p@RRDIDX@OUT1=p@RRDIDX@OUT,300,*
        LINE1:p@RRDIDX@IN1#@COLOR@:@RRDPARAM@ REJ
        LINE2:p@RRDIDX@OUT1#@COLOR@:@RRDPARAM@ DIS
        COMMENT:\n
        GPRINT:p@RRDIDX@IN1:LAST:@RRDPARAM@ rej  %5.1lf (cur)
        GPRINT:p@RRDIDX@IN1:MAX: \: %5.1lf (max)
        GPRINT:p@RRDIDX@IN1:MIN: \: %5.1lf (min)
        GPRINT:p@RRDIDX@IN1:AVERAGE: \: %5.1lf (avg)
        COMMENT:\n
        GPRINT:p@RRDIDX@OUT1:LAST:@RRDPARAM@ dis  %5.1lf (cur)
        GPRINT:p@RRDIDX@OUT1:MAX: \: %5.1lf (max)
        GPRINT:p@RRDIDX@OUT1:MIN: \: %5.1lf (min)
        GPRINT:p@RRDIDX@OUT1:AVERAGE: \: %5.1lf (avg)\n
        COMMENT:\n

[mailq]
	# This handles "mailq.rrd", "mailqin.rrd" and "mailqout.rrd"
	FNPATTERN mailq(.+).rrd
	TITLE Mail Queue Length
	YAXIS Queue Length
	DEF:mailq@RRDIDX@=@RRDFN@:mailq:AVERAGE
	LINE2:mailq@RRDIDX@#@COLOR@:Queue Length @RRDPARAM@
	COMMENT:\n
	GPRINT:mailq@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:mailq@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:mailq@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:mailq@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n


[iishealth]
	# Based on the "IIShealth.zip" tool from deadcat
	FNPATTERN iishealth.(.+).rrd
	TITLE IIS Utilization
	YAXIS #
	# Yes, they really do call it "realmempct". Cut'n'paste programming.
	DEF:p@RRDIDX@=@RRDFN@:realmempct:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	-u 100
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[temperature]
	FNPATTERN temperature.(.+).rrd
	TITLE Temperature
	YAXIS Celsius
	DEF:p@RRDIDX@=@RRDFN@:temperature:AVERAGE
	LINE2:p@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:p@RRDIDX@:LAST: \: %5.1lf (cur)
	GPRINT:p@RRDIDX@:MAX: \: %5.1lf (max)
	GPRINT:p@RRDIDX@:MIN: \: %5.1lf (min)
	GPRINT:p@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

# If you want your temperature graphs in Fahrenheit,
# comment out the [temperature] section above, and 
# uncomment this definition.
#
#[temperature]
#	FNPATTERN temperature.(.+).rrd
#	TITLE Temperature
#	YAXIS Fahrenheit
#	DEF:p@RRDIDX@=@RRDFN@:temperature:AVERAGE
#	CDEF:tempf@RRDIDX@=9,5,/,p@RRDIDX@,*,32,+
#	LINE2:tempf@RRDIDX@#@COLOR@:@RRDPARAM@
#	GPRINT:tempf@RRDIDX@:LAST: \: %5.1lf (cur)
#	GPRINT:tempf@RRDIDX@:MAX: \: %5.1lf (max)
#	GPRINT:tempf@RRDIDX@:MIN: \: %5.1lf (min)
#	GPRINT:tempf@RRDIDX@:AVERAGE: \: %5.1lf (avg)\n

[citrix]
	TITLE Citrix Users
	YAXIS # Users
	DEF:u=citrix.rrd:users:AVERAGE
	LINE2:u#FF0000:Users
	COMMENT:\n
	GPRINT:u:LAST: \: %5.1lf (cur)
	GPRINT:u:MAX: \: %5.1lf (max)
	GPRINT:u:MIN: \: %5.1lf (min)
	GPRINT:u:AVERAGE: \: %5.1lf (avg)\n

[bbgen]
	TITLE bbgen Runtime
	YAXIS Seconds
	DEF:rt=bbgen.rrd:runtime:AVERAGE
	AREA:rt#00CCCC:Run Time
	COMMENT:\n
	GPRINT:rt:LAST: \: %5.1lf (cur)
	GPRINT:rt:MAX: \: %5.1lf (max)
	GPRINT:rt:MIN: \: %5.1lf (min)
	GPRINT:rt:AVERAGE: \: %5.1lf (avg)\n

[bbtest]
	TITLE bbtest Run Time
	YAXIS Seconds
	DEF:rt=bbtest.rrd:runtime:AVERAGE
	AREA:rt#00CCCC:Run Time
	COMMENT:\n
	GPRINT:rt:LAST: \: %5.1lf (cur)
	GPRINT:rt:MAX: \: %5.1lf (max)
	GPRINT:rt:MIN: \: %5.1lf (min)
	GPRINT:rt:AVERAGE: \: %5.1lf (avg)\n

[bbproxy]
	TITLE bbproxy Average Queue Time
	YAXIS Seconds
	DEF:rt=bbproxy.rrd:runtime:AVERAGE
	LINE2:rt#00CCCC:Queue Time
	COMMENT:\n
	GPRINT:rt:LAST: \: %5.1lf (cur)
	GPRINT:rt:MAX: \: %5.1lf (max)
	GPRINT:rt:MIN: \: %5.1lf (min)
	GPRINT:rt:AVERAGE: \: %5.1lf (avg)\n

[hobbitd]
	TITLE hobbitd Incoming Messages
	YAXIS Messages
	DEF:in=hobbitd.rrd:inmessages:AVERAGE
	LINE2:in#00CCCC:Incoming messages
	COMMENT:\n
	GPRINT:in:LAST: \: %5.1lf (cur)
	GPRINT:in:MAX: \: %5.1lf (max)
	GPRINT:in:MIN: \: %5.1lf (min)
	GPRINT:in:AVERAGE: \: %5.1lf (avg)\n

[mrtg]
	FNPATTERN mrtg.*\.(.+).rrd
	TITLE Network Traffic (MRTG)
	YAXIS Bits/second
	DEF:inbytes@RRDIDX@=@RRDFN@:ds0:AVERAGE
	CDEF:in@RRDIDX@=inbytes@RRDIDX@,8,*
	DEF:outbytes@RRDIDX@=@RRDFN@:ds1:AVERAGE
	CDEF:out@RRDIDX@=outbytes@RRDIDX@,8,*
	LINE2:in@RRDIDX@#@COLOR@:@RRDPARAM@  inbound
	GPRINT:in@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:in@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:in@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:in@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n
	LINE2:out@RRDIDX@#@COLOR@:@RRDPARAM@ outbound
	GPRINT:out@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:out@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:out@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:out@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n

[mysqlslow]
	DEF:slow=mysql.rrd:Slowqueries:AVERAGE
	TITLE MySQL Slow Queries
	YAXIS #
	LINE2:slow#00CCCC:Slow Queries
	COMMENT:\n
	GPRINT:slow:LAST: \: %5.1lf (cur)
	GPRINT:slow:MAX: \: %5.1lf (max)
	GPRINT:slow:MIN: \: %5.1lf (min)
	GPRINT:slow:AVERAGE: \: %5.1lf (avg)\n

[mysqlthread]
	DEF:threads=mysql.rrd:Threads:AVERAGE
	TITLE MySQL Active Threads
	YAXIS #
	AREA:threads#00CCCC:Threads
	COMMENT:\n
	GPRINT:threads:LAST: \: %5.1lf (cur)
	GPRINT:threads:MAX: \: %5.1lf (max)
	GPRINT:threads:MIN: \: %5.1lf (min)
	GPRINT:threads:AVERAGE: \: %5.1lf (avg)\n

[ifstat]
	FNPATTERN ifstat.(.+).rrd
	TITLE Network Traffic
	YAXIS Bits/second
	DEF:inbytes@RRDIDX@=@RRDFN@:bytesReceived:AVERAGE
	CDEF:in@RRDIDX@=inbytes@RRDIDX@,8,*
	DEF:outbytes@RRDIDX@=@RRDFN@:bytesSent:AVERAGE
	CDEF:out@RRDIDX@=outbytes@RRDIDX@,8,*
	LINE2:in@RRDIDX@#@COLOR@:@RRDPARAM@  inbound
	GPRINT:in@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:in@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:in@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:in@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n
	LINE2:out@RRDIDX@#@COLOR@:@RRDPARAM@ outbound
	GPRINT:out@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:out@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:out@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:out@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n

[files]
	FNPATTERN filesizes.(.+).rrd
	TITLE File/Directory sizes
	YAXIS KB
	DEF:sz@RRDIDX@=@RRDFN@:size:AVERAGE
	LINE2:sz@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:sz@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:sz@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:sz@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:sz@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n

[processes]
	FNPATTERN processes.(.+).rrd
	TITLE Process counts
	YAXIS #
	DEF:cnt@RRDIDX@=@RRDFN@:count:AVERAGE
	LINE2:cnt@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:cnt@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:cnt@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:cnt@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:cnt@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n

[ports]
	FNPATTERN ports.(.+).rrd
	TITLE Network port counts
	YAXIS #
	DEF:cnt@RRDIDX@=@RRDFN@:count:AVERAGE
	LINE2:cnt@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:cnt@RRDIDX@:LAST: \: %10.1lf (cur)
	GPRINT:cnt@RRDIDX@:MAX: \: %10.1lf (max)
	GPRINT:cnt@RRDIDX@:MIN: \: %10.1lf (min)
	GPRINT:cnt@RRDIDX@:AVERAGE: \: %10.1lf (avg)\n

[lines]
	FNPATTERN lines.(.+).rrd
	TITLE Logfile linecounts
	YAXIS #
	DEF:cnt@RRDIDX@=@RRDFN@:count:AVERAGE
	LINE2:cnt@RRDIDX@#@COLOR@:@RRDPARAM@
	GPRINT:cnt@RRDIDX@:LAST: %6.1lf (cur) \:
	GPRINT:cnt@RRDIDX@:MAX: %6.1lf (max) \:
	GPRINT:cnt@RRDIDX@:MIN: %6.1lf (min) \:
	GPRINT:cnt@RRDIDX@:AVERAGE: %6.1lf (avg)\n


