#!/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 <