[rrd-users] multiple RRAs of same type

Simon Hobson linux at thehobsons.co.uk
Mon May 19 08:49:39 CEST 2008


R Dicaire wrote:

>I'm having difficulty understanding the purpose of having multiple
>RRAs of the same type, say AVERAGE, with different values.
>example: RRA:AVERAGE:.5:1:288 RRA:AVERAGE:.5:60:4320 RRA:AVERAGE:.5:1440:365
>Can someone explain what purpose this serves, and how they're utilized,

It allows you a simple tradeoff between storage space (and associated 
processing time) vs length of history. Typically, you aren't too 
bothered by knowing to the minute what your data did a whole year 
ago, so an average over (say) 2 hour or 12 hour or 24 hour periods 
will suffice. But for recent traffic you want as much detail as 
possible.

Lets consider a case where your step size is one minute. That's 60 
samples every hour, 1440 samples every day, and over half a million 
samples every year. Not only would that take a fair bit of storage (I 
have an rrd with 512 data series in it), but it would take quite a 
bit of processing to reduce it down to a relatively low resolution 
graph for the whole year.

Taking the examples you've given above :
RRA:AVERAGE:.5:1:288
Gives you one minute values for 288 minutes (4.8 hours)

RRA:AVERAGE:.5:60:4320
Gives you one hour values for 4320 hours (180 days)

RRA:AVERAGE:.5:1440:365
Gives you one day values for 365 days

If you plot a graph for a year then you can use the low resolution 
data that is already stored (less processing required) and it's only 
required storing 365 values instead of 525,000 values (less storage 
required).

For the last (almost) 1/2 year, you can still plot a graph with 
detail down to hourly values. But for the last 4.8 hours you can plot 
your one minute values.


There isn't actually anything to stop you keeping every one minute 
value for a whole year if your application requires it - it would 
allow you to 'drill down'* as I've seen done. RRD will handle it, 
it'll just mean more storage and more processing required.

* I've seen graphs done where you can select time span on the graph 
and it will then redraw showing just that time span. You can select a 
time span on that and it will redraw showing just that selection - 
and so on until you reach the limits of the data resolution stored.



More information about the rrd-users mailing list