[rrd-users] convert rrd into new rrd with different RRAs

Karl Fischer rrd-users at ficos.de
Mon Mar 16 12:15:05 CET 2009


Hi,

I'm trying to convert many existing rrds into new rrds with different RRAs.

so for example I might have rrd's created with:
(RRAs: 1s, 10s, 60s, 600s)

  --step=1
  DS:somevalue:GAUGE:120:0:U
  RRA:AVERAGE:0.5:1:3600    # 1s for 1h
  RRA:AVERAGE:0.5:10:8640   # 10s for 1d
  RRA:AVERAGE:0.5:60:10080  # 60s for 1w
  RRA:AVERAGE:0.5:600:4320  # 10m for 1m

and I'd like to convert this into a new rdd that looks like this:
(RRAs: 2s, 10s, 60s, 900s)

  --step=2
  DS:somevalue:GAUGE:60:0:U
  RRA:AVERAGE:0.5:1:5400    # 2s for 3h
  RRA:AVERAGE:0.5:10:8640   # 10s for 1d
  RRA:AVERAGE:0.5:60:20160  # 60s for 2w
  RRA:AVERAGE:0.5:600:12960 # 10m for 3m

Of course that means that some data needs to be calculated from higher
RRAs, for example:

the first half of the 2s RRA in the new database can be taken 1:1 from the
1s RRA of the exiting database by using the CF on two datapoints each time.
The second half is more tricky since there is no data in 1s resolution in
the first RRD, so the values need to be interpolated from the 10s RRA ...

I wonder if I have to re-invent the wheel and to write the required code
completely myself or if someone has been there already ... ?

Any hints welcome ...

- Karl




More information about the rrd-users mailing list