[collectd] Custom RRAs when creating RRD file

kgardenia42 kgardenia42 at googlemail.com
Wed Mar 28 20:22:30 CEST 2012


On Wed, Mar 28, 2012 at 3:06 PM, kgardenia42 <kgardenia42 at googlemail.com> wrote:
> On Tue, Mar 27, 2012 at 11:23 PM, Lindsay Holmwood
>
> These are the RRAs I want in my RRD:
>
>        RRA:AVERAGE:0.5:1:100
>        RRA:AVERAGE:0.5:6:100
>        RRA:AVERAGE:0.5:12:50
>        RRA:AVERAGE:0.5:120:50
>        RRA:AVERAGE:0.5:720:24
>        RRA:AVERAGE:0.5:17280:7
>
> Questions:
>
> * each of those RRAs wants a different number of records retained.
> 100, 100, 50, 50, 24, 7.   Since RRARows seems to be a global setting
> which is applied to *all* RRAs I don't see how I have the granular
> control to specify different values for each RRA.
>
> For example, in collectd.conf if I were to do:
>
> <Plugin rrdtool>
>    DataDir "/var/lib/collectd"
>    RRARows 100
> </Plugin>
>
> That means I'd have 100 rows for *all* my RRAs created by collectd.
> Or am I missing something?  There a way to control this on a per-RRA
> rather than a global setting?  The control this config gives doesn't
> seem fine grained enough for multiple RRAs or multiple RRDs unless I'm
> missing something (which I probably am).
>
> * The manual also says "for each timespan, it calculates how many PDPs
> need to be consolidated into one CDP by calculating: number of PDPs =
> timespan / (stepsize * rrarows)".  But again, if the RRARows setting
> is global then all calculations will be a function of that one
> setting.  I guess I could round up all RRARows to the largest value I
> want (100).  But then I expect I would have to do a lot of number
> juggling to get my numbers to add up to what I want. Is that basically
> what you would recommend?

ok - that is what I ended up doing and (touch wood) it seems to do
what I intended:

# in collectd.conf
<Plugin rrdtool>
    RRARows 100
    RRATimespan 250
    RRATimespan 3000
    RRATimespan 6000
    RRATimespan 60000
    RRATimespan 360000
    RRATimespan 8640000
</Plugin>

Storing 100 rows for each of the RRAs in each of the RRDs is an
acceptable trade-off.  So this accomplishes my goal.

In the general case, however, I can imagine that RRARows being a
global setting could cause a problem for people (for roughly the
reasons I've outlined, e.g. they want one RRD with few records and
another with many records).  It would seem ideal if you could somehow
configure the numbers of rows per-timespan.  Unless of course I'm
missing the point somehow (very likely).

Thanks.



More information about the collectd mailing list