[rrd-users] New with rrdtool - data is not plotting to graph

Simon Hobson linux at thehobsons.co.uk
Tue Sep 11 17:49:53 CEST 2012

Ben wrote:

>      it generates blank graph.
>      Where i did mistake, please provide your feedback.

Usual problem is that you haven't supplied enough data - either for 
long enough or frequently enough to 'fill' any buckets. In your case, 
you've used 120s (2min) buckets, so you need to provide data that 
will span a 2 minute period which starts/ends on an integer multiple 
of 2 minutes since unix epoch (midnight 1st Jan 1970) - which means 
periods from 0 to 2 minutes past the hour, 2 to 4 minutes past, and 
so on.

However, you've specified a heartbeat of 0, which means that 0 
seconds after each update, the data is deemed to be unknown - you 
should be able to see the problem there. The heartbeat is normally 
set to somewhat longer than your normal update intervals so that a 
variation in update times won't cause lost data - how long is 
dependent on your particular situation.

>      One confusion from me : RRA stands for Round Robin Archive, so when
>we should use MAX/MIN/AVERAGE/LAST with RRA? Please provide some example.

The consolidations do what they say. When the primary data points are 
consolidated, the specified function is applied. In your test case, 
you've used 1 primary point per consolidated point so there is no 
difference (they are null operations). However it's more normal to 
consolidate multiple primary points into one longer consolidated 
point - eg consolidating 12off 5 minutes periods into 1off 60minute 
(1hour) period.

Take the following values :
1, 2, 3, 4, 10
If you consolidate them to one data point then :
Average gives you 4 (1 + 2 + 3 + 4 + 10 = 20, 20/5 = 4)
Minimum gives you 1 - the smallest of all the values
Maximum gives you 10 - the largest of all the values
Last will give you 10 - the last value

Note that RRA relates to how the data is stored, not to how it is 
calculated. If you are storing (say) 100 samples, then you'd have 100 
buckets. You'd put a value in bucket 0, then bucket 1, then bucket 2, 
and so on until all buckets are filled. Then after filling bucket 99 
you loop back and overwrite bucket 0, then 1, and so on. The data 
size is fixed, and there is no overhead in extending the file, 
clearing old data, etc, etc. All it needs is a data structure to 
store the data, and some pointers to keep track of where you are at 
any point.

There are some good tutorials at http://www.vandenbogaerdt.nl/rrdtool/
In particular, see the one on consolidation and normalisation.

Simon Hobson

Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.

More information about the rrd-users mailing list