rrd_scripts/update_graphs.sh

101 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
CONFIGPATH=$(/path/to/config)
while [ true ]
do
. ${CONFIGPATH}/rrd_config
if [ ! -d $GRAPHDIR ]; then
mkdir -p $GRAPHDIR
fi
cd $RRDDIR
for i in ${INTERFACES[@]}
do
$RRDTOOL graph $GRAPHDIR${i}_day.png \
-h 120 -w 550 -a PNG \
--start end-8h --end now \
--font DEFAULT:7: \
--title "$i Network Throughput" \
--watermark "`date`" \
--vertical-label "bytes/sec" \
--logarithmic \
--units=si \
--x-grid MINUTE:10:HOUR:1:MINUTE:120:0:%R \
--alt-y-grid --rigid \
DEF:RXBytes=${i}_day.rrd:RXBytes:AVERAGE \
DEF:TXBytes=${i}_day.rrd:TXBytes:AVERAGE \
LINE2:RXBytes#3ADF00:RX \
GPRINT:RXBytes:LAST:"Cur\: %5.2lf %s" \
GPRINT:RXBytes:AVERAGE:"Avg\: %5.2lf %S" \
GPRINT:RXBytes:MAX:"Max\: %5.2lf %S" \
GPRINT:RXBytes:MIN:"Min\: %5.2lf %SBps\n" \
LINE2:TXBytes#045FB4:TX \
GPRINT:TXBytes:LAST:"Cur\: %5.1lf %s" \
GPRINT:TXBytes:AVERAGE:"Avg\: %5.1lf %S" \
GPRINT:TXBytes:MAX:"Max\: %5.1lf %S" \
GPRINT:TXBytes:MIN:"Min\: %5.1lf %SBps\n" \
HRULE:0#000000
done
for i in ${DISKS[@]}
do
$RRDTOOL graph $GRAPHDIR${i}.png \
-h 120 -w 550 -a PNG \
--start end-8h --end now \
--font DEFAULT:7: \
--title "${i} Data Read/Written" \
--watermark "`date`" \
--vertical-label "bytes/sec" \
--logarithmic \
--units=si \
--x-grid MINUTE:10:HOUR:1:MINUTE:120:0:%R \
--alt-y-grid --rigid \
DEF:reads=${i}.rrd:reads:AVERAGE \
DEF:writes=${i}.rrd:writes:AVERAGE \
LINE2:reads#3ADF00:Read \
GPRINT:reads:LAST:"Cur\: %5.2lf %s" \
GPRINT:reads:AVERAGE:"Avg\: %5.2lf %S" \
GPRINT:reads:MAX:"Max\: %5.2lf %S" \
GPRINT:reads:MIN:"Min\: %5.2lf %SBps\n" \
LINE2:writes#045FB4:Written \
GPRINT:writes:LAST:"Cur\: %5.1lf %s" \
GPRINT:writes:AVERAGE:"Avg\: %5.1lf %S" \
GPRINT:writes:MAX:"Max\: %5.1lf %S" \
GPRINT:writes:MIN:"Min\: %5.1lf %SBps\n" \
HRULE:0#000000
done
$RRDTOOL graph $GRAPHDIR/loadavg.png \
-h 120 -w 550 -a PNG \
--start end-8h --end now \
--font DEFAULT:7: \
--title "Load Average" \
--watermark "`uptime`" \
--vertical-label "Load Average" \
--x-grid MINUTE:10:HOUR:1:MINUTE:120:0:%R \
--upper-limit 2.00 \
--lower-limit 0.00 \
DEF:one=loadavg.rrd:one:AVERAGE \
DEF:five=loadavg.rrd:five:AVERAGE \
DEF:fifteen=loadavg.rrd:fifteen:AVERAGE \
LINE:fifteen#FF0000:"1 Min\:" \
GPRINT:fifteen:LAST:"Cur\: %5.2lf" \
GPRINT:fifteen:AVERAGE:"Avg\: %5.2lf" \
GPRINT:fifteen:MIN:"Min\: %5.2lf" \
GPRINT:fifteen:MAX:"Max\: %5.2lf\n" \
LINE:five#0000FF:"5 Min\:" \
GPRINT:five:LAST:"Cur\: %5.2lf" \
GPRINT:five:AVERAGE:"Avg\: %5.2lf" \
GPRINT:five:MIN:"Min\: %5.2lf" \
GPRINT:five:MAX:"Max\: %5.2lf\n" \
AREA:one#00FF0080:"15 Min\:" \
GPRINT:one:LAST:"Cur\: %5.2lf" \
GPRINT:one:AVERAGE:"Avg\: %5.2lf" \
GPRINT:one:MIN:"Min\: %5.2lf" \
GPRINT:one:MAX:"Max\: %5.2lf\n" \