clonereverse-engineeringrrdtoolrrd

Creating a new rrd database based on an existing one


I have some old rrdtool databases, for which the exact creation recipe has long been since lost. I need to create a new database with the same characteristics as the current ones. I've dumped a couple of old databases and pored over the contents but I'm not sure how to interpret the metadata. I think it appears in the following stanzas

<cf> AVERAGE </cf>
<pdp_per_row> 360 </pdp_per_row> <!-- 1800 seconds -->
<xff> 5.0000000000e-01 </xff>

There are four such stanzas, which correspond to the way I recall the round-robin cascading was set up. Has anyone already done this, or can give me pointers as to how to clone a new empty rrd database from an existing one? Or show me where I missed this in the documentation.


Solution

  • rrdtools' rrdinfo is your friend!

    It will tell you how the rrd file's data source(s) and archive(s) were created. Example

    $ rrdtool info random.rrd
    filename = "random.rrd"
    rrd_version = "0001"
    step = 300
    last_update = 955892996
    ds[a].type = "GAUGE"
    ds[a].minimal_heartbeat = 600
    ds[a].min = NaN
    ds[a].max = NaN
    ds[a].last_ds = "UNKN"
    ds[a].value = 2.1824421548e+04
    ds[a].unknown_sec = 0
    ds[b].type = "GAUGE"
    ds[b].minimal_heartbeat = 600
    ds[b].min = NaN
    ds[b].max = NaN
    ds[b].last_ds = "UNKN"
    ds[b].value = 3.9620838224e+03
    ds[b].unknown_sec = 0
    rra[0].cf = "AVERAGE"
    rra[0].pdp_per_row = 1
    rra[0].cdp_prep[0].value = nan
    rra[0].cdp_prep[0].unknown_datapoints = 0
    rra[0].cdp_prep[1].value = nan
    rra[0].cdp_prep[1].unknown_datapoints = 0