Skip to content

Instantly share code, notes, and snippets.

@thistac
Last active July 27, 2020 00:07
Show Gist options
  • Save thistac/b8b3a753f56840f891a877115f2c88c1 to your computer and use it in GitHub Desktop.
Save thistac/b8b3a753f56840f891a877115f2c88c1 to your computer and use it in GitHub Desktop.
Lighttpd mod rrdtool with rrdcgi on the fly
## Modules
server.modules += ( "mod_cgi" )
server.modules += ( "mod_rrdtool" )
rrdtool.binary = "/usr/bin/rrdtool"
rrdtool.db-name = "/rrd/lighttpd/lighttpd.rrd"
##rrdcgi
cgi.assign += ( ".rrdcgi" => "/usr/bin/rrdcgi")
##Files
#/www
#--lighttpd -> /rrd/lighttpd
#
#/rrd/lighttpd
#--lighttpd.rrd
#--index.rrdcgi
#--<images.png>
#!/usr/bin/rrdcgi
<HTML>
<head>
<title>Webserver Statistics for lighttpd</title>
<meta HTTP-EQUIV="Refresh" CONTENT="300">
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
</head>
<body bgcolor="#0d0d0d" text="fff">
<center>
<h1>WebServer Statistics</h1>
<p><span>
<RRD::GRAPH traffic.png --start -4hours --title "Graph Traffic <RRD::TIME::NOW %c> Last 4 Hours" -v bytes
DEF:binraw=/rrd/lighttpd/lighttpd.rrd:InOctets:AVERAGE DEF:binmaxraw=/rrd/lighttpd/lighttpd.rrd:InOctets:MAX
DEF:binminraw=/rrd/lighttpd/lighttpd.rrd:InOctets:MIN DEF:bout=/rrd/lighttpd/lighttpd.rrd:OutOctets:AVERAGE
DEF:boutmax=/rrd/lighttpd/lighttpd.rrd:OutOctets:MAX DEF:boutmin=/rrd/lighttpd/lighttpd.rrd:OutOctets:MIN
CDEF:bin=binraw,-1,* CDEF:binmax=binmaxraw,-1,* CDEF:binmin=binminraw,-1,*
CDEF:binminmax=binmaxraw,binminraw,- CDEF:boutminmax=boutmax,boutmin,- AREA:binmin#ffffff:
STACK:binmax#f00000: LINE1:binmin#a0a0a0: LINE1:binmax#a0a0a0: LINE2:bin#efb71d GPRINT:bin:MIN:%.2lf
GPRINT:bin:AVERAGE:%.2lf GPRINT:bin:MAX:%.2lf AREA:boutmin#ffffff: STACK:boutminmax#00f000:
LINE1:boutmin#a0a0a0: LINE1:boutmax#a0a0a0: LINE2:bout#a0a735:outgoing GPRINT:bout:MIN:%.2lf
GPRINT:bout:AVERAGE:%.2lf GPRINT:bout:MAX:%.2lf>
</span>
<span>
<RRD::GRAPH traffic1.png --start -2days --title "Graph Traffic <RRD::TIME::NOW %c> Last 2 days" -v bytes
DEF:binraw=/rrd/lighttpd/lighttpd.rrd:InOctets:AVERAGE DEF:binmaxraw=/rrd/lighttpd/lighttpd.rrd:InOctets:MAX
DEF:binminraw=/rrd/lighttpd/lighttpd.rrd:InOctets:MIN DEF:bout=/rrd/lighttpd/lighttpd.rrd:OutOctets:AVERAGE
DEF:boutmax=/rrd/lighttpd/lighttpd.rrd:OutOctets:MAX DEF:boutmin=/rrd/lighttpd/lighttpd.rrd:OutOctets:MIN
CDEF:bin=binraw,-1,* CDEF:binmax=binmaxraw,-1,* CDEF:binmin=binminraw,-1,*
CDEF:binminmax=binmaxraw,binminraw,- CDEF:boutminmax=boutmax,boutmin,- AREA:binmin#ffffff:
STACK:binmax#f00000: LINE1:binmin#a0a0a0: LINE1:binmax#a0a0a0: LINE2:bin#efb71d GPRINT:bin:MIN:%.2lf
GPRINT:bin:AVERAGE:%.2lf GPRINT:bin:MAX:%.2lf AREA:boutmin#ffffff: STACK:boutminmax#00f000:
LINE1:boutmin#a0a0a0: LINE1:boutmax#a0a0a0: LINE2:bout#a0a735:outgoing GPRINT:bout:MIN:%.2lf
GPRINT:bout:AVERAGE:%.2lf GPRINT:bout:MAX:%.2lf>
</span>
</p>
<p><span>
<RRD::GRAPH requests.png --start -4hours --title "Graph Requests <RRD::TIME::NOW %c> Last 4 Hours" -v req -u 1
DEF:req=lighttpd.rrd:Requests:AVERAGE DEF:reqmax=lighttpd.rrd:Requests:MAX
DEF:reqmin=lighttpd.rrd:Requests:MIN CDEF:reqminmax=reqmax,reqmin,- AREA:reqmin#ffffff:
STACK:reqminmax#00f000: LINE1:reqmin#a0a0a0: LINE1:reqmax#a0a0a0: LINE2:req#00a735:requests>
</span>
<span>
<RRD::GRAPH requests1.png --start -2days --title "Graph Requests <RRD::TIME::NOW %c> Last 2 Days" -v req -u 1
DEF:req=lighttpd.rrd:Requests:AVERAGE DEF:reqmax=lighttpd.rrd:Requests:MAX
DEF:reqmin=lighttpd.rrd:Requests:MIN CDEF:reqminmax=reqmax,reqmin,- AREA:reqmin#ffffff:
STACK:reqminmax#00f000: LINE1:reqmin#a0a0a0: LINE1:reqmax#a0a0a0: LINE2:req#00a735:requests>
</span>
</p>
</center>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment