[rrd-users] Can I stuff an RRD with data after-the-fact?

Alan McKay alan.mckay at gmail.com
Tue Sep 16 20:17:06 CEST 2014

On Tue, Sep 16, 2014 at 11:00 AM, Simon Hobson <linux at thehobsons.co.uk> wrote:
> That will work just fine *IF* none of the data in your file is older than data in the RRD file AND all the timestamps in the file are in increasing order. With each update, the RRD will update just the same as if you'd fed them in in real time as the data was collected.

Well I only wrote this because it did not seem to work at all.  It was
a fresh RRD - newly created.  And timestamps were increasing.

> 2) Have your script use rrdtool last to get the timestamp of (IIRC) the last complete bucket, and "discard" all the entries older than this - then insert the new values. You might still get one or two errors - IIRC rrdtool last gives the timestamp of the last complete bucket (aka Primary Data Point) which is likely to be earlier than the timestamp of the last value inserted.

That's not a bad idea

> Lastly, have you considered using rrdcached ? Collect the data on one machine, and do rrdtool updates from there specifying the cached address - the data is then transferred to the other machine and the RRD updated in real time*. It works really well for distributed data collection like this - I use it on many of my systems.

I'll have a look at it, but in our environment any kind of extraneous
agent or daemon can only be introduced after considerable scrutiny.
Which is why I did not want to run rrdtool locally.  THough I'm going
through the process to get it introduced.
It is technically not a daemon like that, so should be good.
Also, I can't really allow data to be pushed from a host to a collector.
I could only pull from the collector.

Thanks for your reply.

"Don't eat anything you've ever seen advertised on TV"
         - Michael Pollan, author of "In Defense of Food"

More information about the rrd-users mailing list