[rrd-users] newbie question: C(++) integration with rrd

Mr Dash Four mr.dash.four at googlemail.com
Sat Oct 6 12:31:42 CEST 2012

> If you log data at irregular intervals, then you'll get three effects.
> 1. Data normalisation - your samples will be modified to fit into the RRD's interval.  This is common; however for small values, this can cause problems, particularly if you are interested in the actual values and not the rate.
This is indeed the case with some of my logging.

> 2. XFF making RRA cdps unknown.  If you have insufficient samples in an interval, then an RRA may set the value for that cdp to unknown.
> 3. Heartbeat making data points unknown.  This is your biggest risk.  You MUST have a sample AT LEAST as often as the heartbeat.  If the heartbeat is smaller than your interval, then an interval will be set to unknown unless multiple values are received during it.  If your heartbeat is exceptionally large, then one sample may case several data points to be created!  This can be strange.
> You could, for example, log the total number of bounced packets on a regular basis.  This would work.  Or, every (regular) interval, log the number of packets bounced since the last update.  What you should not do is to only log something if and when you bounce a packet.
All noted, thanks. I will then revert back to the "old" way, with a bit 
of a twist - executing the sampling at regular intervals, but via a 
special daemon and log the results (including zero/no matches) to RRD. 
That way, the database should be OK and kept in a sane state. Thanks Steve!

More information about the rrd-users mailing list