#!/bin/bash basedir=/var/www/html/load rrdfile=$basedir/load.rrd mkdir -p $basedir if [ ! -f $rrdfile ] then rrdtool create $rrdfile \ DS:5min:GAUGE:600:U:U \ DS:15min:GAUGE:600:U:U \ RRA:AVERAGE:0.5:1:576 \ RRA:AVERAGE:0.5:6:672 \ RRA:AVERAGE:0.5:24:744 \ RRA:AVERAGE:0.5:288:732 \ RRA:MAX:0.5:1:576 \ RRA:MAX:0.5:6:672 \ RRA:MAX:0.5:24:744 \ RRA:MAX:0.5:288:732 fi echo $(uptime | sed -e 's/^.*load average.*: //' -e 's/ //g' | awk -F, "{ printf(\"update $rrdfile N:%f:%f\", \$2, \$3)}") | rrdtool - hostname=`uname -n` date=`date '+%Y-%m-%d %H.%M.%S %Z'` rrdtool graph $basedir/load1.png \ --start now-1day \ --vertical-label "Load averages" \ --units-exponent 0 \ --title "Daily load of $hostname" \ --alt-autoscale-max \ --lower-limit 0 \ DEF:5minavg=$rrdfile:5min:AVERAGE \ AREA:5minavg#0000dd:"5-min load avgs" \ GPRINT:5minavg:AVERAGE:"Avg\:%3.2lf" \ GPRINT:5minavg:MAX:"Max\:%3.2lf\n" \ COMMENT:"$date \r" rrdtool graph $basedir/load7.png \ --start now-7day \ --vertical-label "Load averages" \ --units-exponent 0 \ --title "Weekly load of $hostname" \ --alt-autoscale-max \ --lower-limit 0 \ DEF:5minavg=$rrdfile:5min:AVERAGE \ AREA:5minavg#0000dd:"5-min load avgs" \ GPRINT:5minavg:AVERAGE:"Avg\:%3.2lf" \ GPRINT:5minavg:MAX:"Max\:%3.2lf\n" \ COMMENT:"$date \r" rrdtool graph $basedir/load30.png \ --start now-30day \ --vertical-label "Load averages" \ --units-exponent 0 \ --title "Monthly load of $hostname" \ --alt-autoscale-max \ --lower-limit 0 \ DEF:5minavg=$rrdfile:5min:AVERAGE \ AREA:5minavg#0000dd:"5-min load avgs" \ GPRINT:5minavg:AVERAGE:"Avg\:%3.2lf" \ GPRINT:5minavg:MAX:"Max\:%3.2lf\n" \ COMMENT:"$date \r" rrdtool graph $basedir/load360.png \ --start now-360day \ --vertical-label "Load averages" \ --units-exponent 0 \ --title "yearly load of $hostname" \ --alt-autoscale-max \ --lower-limit 0 \ DEF:5minavg=$rrdfile:5min:AVERAGE \ AREA:5minavg#0000dd:"5-min load avgs" \ GPRINT:5minavg:AVERAGE:"Avg\:%3.2lf" \ GPRINT:5minavg:MAX:"Max\:%3.2lf\n" \ COMMENT:"$date \r" cat > $basedir/index.html < EOF