Lighttpd mod_rrdtool: Monitor The Load, Requests Per Seconds and Traffic

by on May 23, 2009 · 12 comments· LAST UPDATED June 18, 2009

in , ,

The round-robin database tool aims to handle time-series data like network bandwidth, temperatures, CPU load etc. The data gets stored in round-robin database so that system storage footprint remains constant over time. Lighttpd comes with mod_rrdtool to monitor the server load and other details. This is useful for debugging and tuning lighttpd / fastcgi server performance.

Install rrdtool

Type the following command if you are using CentOS / RHEL / Fedora Linux (enable EPEL repo):
# yum install rrdtool
If you are using Debian / Ubuntu Linux, enter:
# apt-get update && apt-get install rrdtool

Configure mod_rrdtool

You need to use /usr/bin/rrdtool binary file. Open the lighttpd configuration file, enter:
# vi /etc/lighttpd/lighttpd.conf
Add the following:

server.modules              += ( "mod_rrdtool"  )
### RRDTOOL Config
# path to the rrdtool binary
rrdtool.binary = "/usr/bin/rrdtool"
# rrd database file
rrdtool.db-name = "/home/lighttpd/rrd"

Save and close the file. Now gracefully reload lighttpd webserver:
# service lighttpd reload
/home/lighttpd/rrd is a filename of the rrd-database. Make sure that /home/lighttpd/rrd doesn't exist before the first run, as lighttpd has to create the DB for you.

How Do I View Graphs?

You need to download and install cgi script. My cgi-bin directory is located at /home/lighttpd/cgi-bin/ (see how to configure cgi-bin CGI access under Lighttpd):
$ cd /home/lighttpd/cgi-bin/
$ wget http://redmine.lighttpd.net/attachments/download/793
$ chmod +x lightygraph.cgi

Open the web browser and type url:
http://your.domain.com/cgi-bin/lightygraph.cgi
Sample graphs:

Fig.01: Lighttpd WebServer Statistics For Last 4 Hours

Fig.01: Lighttpd WebServer Statistics For Last 4 Hours

Fig.02: Lighttpd WebServer Statistics - Daily Graphs

Fig.02: Lighttpd WebServer Statistics - Daily Graphs

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 RobertRade May 24, 2009 at 11:50 am

Hi,

I use perl lightygraph.cgi to validate the results. Unfortunately, the lightygraph.cgi is broken due to the old RRDS.pm perl module. Check out here:
http://webminstats.sourceforge.net/faq.html#installation5

The details on RRDTool for Lighttpd can be found here:
http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRRDTool

I appreciate that you’re trying to let us know of the RRDTool. Next time, try to validate the results first before posting here. :)

Robert

Robert

Reply

2 nixCraft May 24, 2009 at 11:59 am

It is working here w/o any problem. Tested on RHEL 4.x and 5.3:
lighttpd -v
lighttpd-1.4.22 (ssl) – a light and fast webserver
Build-Date: May 7 2009 11:37:00

perl -v | grep built
This is perl, v5.8.8 built for x86_64-linux-thread-multi

rrdtool info| grep RRD
RRDtool 1.2.27 Copyright 1997-2008 by Tobias Oetiker

I don’t post anything without testing ;)

HTH

Reply

3 Samim June 10, 2009 at 6:53 am

Hi Vivek,

Thanks for writing this nice document. I followed your steps. I am able to run sample perl script w/o any problem.
But when ever I tried to access lightygraph.cgi page download pop-up windows comes for downloading. Then I made some changes in lighttpd.conf for accessing .cgi pages now its saying “403 Forbidden”. My rrdtool is in /usr/local/bin/rrdtool.
Also, there is no file for rrd-db.

Pls. let me know if u have any suggession.

Samim

Reply

4 nixCraft June 10, 2009 at 7:13 am

Can you paste or upload your lighttpd somewhere else?

Reply

5 Samim June 10, 2009 at 7:37 am

Hi Vivek,

Thanks for reply. Pls. follow the below link where I paste my entire conf file.

http://docs.google.com/View?id=dfdvt78n_0cnmj6zc3

Reply

6 johan December 26, 2009 at 2:59 am

Hi Vivek,

Although i use Linux for many years, I never ‘stumbled’ over this website before.
Better late than never! The best website about linux i’ve seen !!!!

Thanks for all the effort you are putting into this site.

Reply

7 Alex April 2, 2010 at 1:45 am

This might seem a silly question. But what is the red data on the ‘TrafficWebserver’ graph? Are those errors, because they’re negative…

-Alex

Reply

8 Dmitry Sherman August 11, 2010 at 7:47 am

i wonder if it is it possible to view traffic graphs per domain ? (“host”)
since lighty knows how to limit bandwidth on particular host so i guess it also possible to retrieve this data somehow.

Reply

9 Derek July 3, 2012 at 10:13 am

if you are getting 503 errors check that the paths are correct in the .cgi file, mkdir as necessary

you can test it from the linux command line as follows
# perl lightygraph.cgi

to fix the Can’t locate RRDs.pm issue you can
# yum install rrdtool-perl.x86_64

Reply

10 Sean A.O. Harney February 28, 2013 at 4:29 pm

On CentOS do

yum rddtool to install.
then edit the lighttpd config.
If lighttpd restarts and has following in error-log
ERROR: creating ‘/var/lib/lighttpd/lighttpd.rrd’: No such file or directory

You may have to
cd /var/log/lighttpd.rrd
touch ./lighttpd.rrd
chown lighttpd.lighttpd ./lighttpd.rrd

Reply

11 Sean A.O. Harney February 28, 2013 at 4:33 pm

On CentOS do

yum rddtool # to install.
/etc/initd.d/rrdcached start
Make sure it is in rc.scripts so it will start on bootup

If lighttpd restarts and has following in error-log
ERROR: creating ‘/var/lib/lighttpd/lighttpd.rrd’: No such file or directory

You may have to

cd /var/log/lighttpd
touch ./lighttpd.rrd
chown lighttpd.lighttpd ./lighttpd.rrd

Reply

12 JoBArTe_Skuld July 4, 2013 at 3:36 am

Is possible to set a rrdtool by much hostname? I have 5 hostnames in one lighttpd

Reply

Leave a Comment

Tagged as: , , , , , , , , , ,

Previous post:

Next post: