[rrd-users] Updates lost using rrdcached?
Simon Hobson
linux at thehobsons.co.uk
Fri Nov 15 17:11:34 CET 2013
Dirk wrote:
>I notice some updated values are not always written to my rrdfile by
>rrdcached. The updates do however appear in in the rrdcached daemon
>journal:
>
>Any idea what can be causing this behaviour or what I'm missing?
>
>
>E.g. the update of time 1384516800 is not present in the rrdfile. The
>updates before and after are:
>Journal Entries:
>rrd.journal.1384516544.283473:update /var/rrd/0/2/8/test.rrd
>1384516440:3560054323:2684354508
>rrd.journal.1384516544.283473:update /var/rrd/0/2/8/test.rrd
>1384516800:3563798323:2684354508
>The RDD file is created with perl:
>push @q_array, "/var/rrd/0/2/8/test.rrd";
>push @q_array, "--step=60";
>push @q_array, "--start=1352985960";
>push @q_array, "DS:d_tbs:GAUGE:60:0:U";
>push @q_array, "DS:u_tbs:GAUGE:60:0:U";
Your heartbeat* is too short. Thus when the second update comes it, the heartbeat expires and the previous period is set to unknown. In this case, it's been 360s since the previous update which is >> your heartbeat.
You need to reconsider your settings and operation. If you can legitimately have 360 seconds between updates without invalidating any data, then your hearbeat must be no less that 360s (deally a little longer).
The update at 800 is not, in itself, enough to make any bucket of data valid - in this case it merely ends a period of unknown data and then later updates will operate correctly (as long as they are frequent enough). Even though you are using guage data type, RRD does **NOT** store point values. Have a read of Alex's tutorials athttp://www.vandenbogaerdt.nl/rrdtool/ in particular the one onRates, normalizing and consolidating.
* I don't use the perl bindings, but as I read it I think you have 60s as your heartbeat.
More information about the rrd-users
mailing list