Friday, February 11, 2011

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.

  • 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
    
    dland : I think you mean 'info' rather than 'rrdinfo'. But thanks, that's a start.
    Stu Thompson : No, I meant what I wrote :P Follow the link and you'll see what I mean. Yes, at the command line it is invoked with "rrdtool info", but the it is named on its reference page 'rrdinfo'. Splitting hairs, I guess. ALSO, the tool gives you a 1:1 parameter list for your rrd creation. Easy!
    dland : This doesn't really, truly answer the question, but since it's the only response, you get the point :)

0 comments:

Post a Comment