Jade's Tech Notes

More bits more places

Generating RRD Graphs With Nginx

Nginx has a neat module called mod_rrd_graph that generates graphs from Round Robin Database files and serves up the resulting image using the web server. This is good because otherwise you are likely messing with CGI scripts or wasting time generating graphs that may be viewed infrequently.

I have a application (Bongo) that gathers key stats from a few thousand CPE devices every five minutes. This generats a fair amount of disk I/O activity but it is bearable with RAID10 & rrdcached. Before I got mod_rrd_graph working I was redrawing three graphs for every CPE device twice every day which was pretty unbearable, both from a performance and user experience (why are my graphs five hours old?) perspective. It was also a sad waste of I/O activity as most graphs were never viewed as they are only checked if a customer has a problem.

The documentation is OK to get started but I quickly reached the limit of what I could find with Google.