[rrd-users] Aggregate/combine several RRDs

Alex van den Bogaerdt alex at ergens.op.het.net
Thu Jun 19 22:00:23 CEST 2008


On Thu, Jun 19, 2008 at 11:30:29AM +0200, Jesper Skou Jensen wrote:
> Hi there,
> 
> I have used RRD for several years now, and am quite happy with it so 
> far. But I've only been using various tools to generate graphs and 
> stuff, but don't really know much about the structure of the RRDs.
> 
> Right now I'm trying to aggregate a bunch of RRDs into one, that is, I 
> have many RRD files that contains bandwidth/traffic "log" from some ADSL 
> connections, and I would like to aggregate those files in a way that I 
> can view the total bandwidth usage, both average and max. values.
> 
> Is that possible? If so, could you please give me some pointers on how 
> to get it done.


It sure is possible.  There will probably be tools available which
can do this. You could also study a bit and roll your own solution
for more flexibility.

Generally speaking:
Don't try to create one rrd with the combined information. Instead
collect data from multiple sources into one graph.

DEF:x1=sourc1.rrd:ds0:AVERAGE
DEF:x2=sourc2.rrd:ds0:AVERAGE
...
DEF:xn=sourcn.rrd:ds0:AVERAGE

DEF:y1=sourc1.rrd:ds0:MAX
DEF:y2=sourc2.rrd:ds0:MAX
...
DEF:yn=sourcn.rrd:ds0:MAX


Add all average values, add all maximums:

CDEF:xtotal=x1,x2,+,x3,+,...,xn,+
CDEF:ytotal=y1,y2,+,y3,+,...,yn,+

and then display.  But you will have unknown data in there, and
adding unknown to anything will produce unknown.

Instead of "x1", write "x1,UN,0,x,IF" to overcome this.  But make
sure to check out the various functions you can use, such as
AVG and TOTAL: http://oss.oetiker.ch/rrdtool/doc/rrdgraph_rpn.en.html

But don't start with such complex stuff.  Start as a beginner should
start: http://oss.oetiker.ch/rrdtool/tut/index.en.html

HTH
-- 
Alex van den Bogaerdt
http://www.vandenbogaerdt.nl/rrdtool/



More information about the rrd-users mailing list