======= rrdtool ======= ------------------- Module: mod_rrdtool ------------------- :Author: Jan Kneschke :Date: $Date: 2004/08/29 09:43:49 $ :Revision: $Revision: 1.1 $ :abstract: mod_rrdtool is used to monitor the traffic and load on the webserver .. meta:: :keywords: lighttpd, skeleton .. contents:: Table of Contents Description =========== RRD_ is a system to store and display time-series data (i.e. network bandwidth, machine-room temperature, server load average). .. _RRD: http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/ Options ======= rrdtool.binary path to the rrdtool binary e.g.: :: rrdtool.binary = "/usr/bin/rrdtool" rrdtool.db-name filename of the rrd-database. Make sure that doesn't exists before the first run as lighttpd has to create the DB for you. e.g.: :: rrdtool.db-name = "/var/www/lighttpd.rrd" Generating Graphs ================= :: #!/bin/sh RRDTOOL=/usr/bin/rrdtool OUTDIR=/var/www/servers/www.example.org/pages/rrd/ INFILE=/var/www/lighttpd.rrd OUTPRE=lighttpd-traffic DISP="-v bytes --title TrafficWebserver \ DEF:binraw=$INFILE:InOctets:AVERAGE \ DEF:binmaxraw=$INFILE:InOctets:MAX \ DEF:binminraw=$INFILE:InOctets:MIN \ DEF:bout=$INFILE:OutOctets:AVERAGE \ DEF:boutmax=$INFILE:OutOctets:MAX \ DEF:boutmin=$INFILE:OutOctets:MIN \ CDEF:bin=binraw,-1,* \ CDEF:binmax=binmaxraw,-1,* \ CDEF:binmin=binminraw,-1,* \ AREA:binmin#ffffff: \ STACK:binmax#f00000: \ LINE1:binmin#a0a0a0: \ LINE1:binmax#a0a0a0: \ LINE2:bin#a00000:incoming \ GPRINT:bin:MIN:%.2lf \ GPRINT:bin:AVERAGE:%.2lf \ GPRINT:bin:MAX:%.2lf \ AREA:boutmin#ffffff: \ STACK:boutmax#00f000: \ LINE1:boutmin#a0a0a0: \ LINE1:boutmax#a0a0a0: \ LINE2:bout#00a000:outgoing \ GPRINT:bout:MIN:%.2lf \ GPRINT:bout:AVERAGE:%.2lf \ GPRINT:bout:MAX:%.2lf \ " $RRDTOOL graph $OUTDIR/$OUTPRE-hour.png -a PNG --start -14400 $DISP $RRDTOOL graph $OUTDIR/$OUTPRE-day.png -a PNG --start -86400 $DISP $RRDTOOL graph $OUTDIR/$OUTPRE-month.png -a PNG --start -2592000 $DISP OUTPRE=lighttpd-requests DISP="-v req --title RequestsperSecond -u 1 \ DEF:req=$INFILE:Requests:AVERAGE \ DEF:reqmax=$INFILE:Requests:MAX \ DEF:reqmin=$INFILE:Requests:MIN \ AREA:reqmin#ffffff: \ STACK:reqmax#00f000: \ LINE1:reqmin#a0a0a0: \ LINE1:reqmax#a0a0a0: \ LINE2:req#006000:requests" $RRDTOOL graph $OUTDIR/$OUTPRE-hour.png -a PNG --start -14400 $DISP $RRDTOOL graph $OUTDIR/$OUTPRE-day.png -a PNG --start -86400 $DISP $RRDTOOL graph $OUTDIR/$OUTPRE-month.png -a PNG --start -2592000 $DISP