[rrd-users] Question regarding missing data points

Buescher, Friedhelm Friedhelm.Buescher at cewe.de
Wed Oct 26 14:47:49 CEST 2016


we use rrd to get an overview of our server farm. Every data point that is monitored (disk usage, cpu, mem, temp., iops, bandwidth and so on) gets written to rrd (and then gets visualized via drraw).

Every now and then we get some timeout from the monitoring system (read: a missing data point), but i’m unable to implement this in RRD.

Minimal compiling sample:

rm test.rrd
rrdtool create test.rrd --step 300 --start 1477432800 DS:testds:GAUGE:300:U:U RRA:LAST:0:1:10
rrdtool update test.rrd 1477433100:12
rrdtool update test.rrd 1477433400:13
rrdtool update test.rrd 1477433700:15
# rrdtool update test.rrd 1477434000:NaN   # here is a missed measuring point
rrdtool update test.rrd 1477434300:8
rrdtool update test.rrd 1477434600:12

As you can see, the data point for the timestamp 1477434000 will not be written to rrd, but the following data point is available, again.

But if you dump the rrd, you can notice some strange behaviour:

rrdtool dump test.rrd  | grep "2016-10-26 00"

                        <!-- 2016-10-26 00:00:00 CEST / 1477432800 --> <row><v>NaN</v></row>
                        <!-- 2016-10-26 00:05:00 CEST / 1477433100 --> <row><v>1.2000000000e+01</v></row>
                        <!-- 2016-10-26 00:10:00 CEST / 1477433400 --> <row><v>1.3000000000e+01</v></row>
                        <!-- 2016-10-26 00:15:00 CEST / 1477433700 --> <row><v>1.5000000000e+01</v></row>
                        <!-- 2016-10-26 00:20:00 CEST / 1477434000 --> <row><v>NaN</v></row>
                        <!-- 2016-10-26 00:25:00 CEST / 1477434300 --> <row><v>NaN</v></row>
                        <!-- 2016-10-26 00:30:00 CEST / 1477434600 --> <row><v>1.2000000000e+01</v></row>

1477432800 is missing, because we did not populate it with data.
1477434000 is missing, because there was a timeout

But why the heck is 1477434300 missing? We populated it with value 8.

Considerations regarding the definitions:
Step=300, because we check every 5 minutes
Heartbeat=300, because rrd shall not interpolate
Xff=0, if one PDP is missing, I want to see an NaN

Can anyone advise how to setup the rrd, so that one missing PDP gets exactly one NaN ?

Thank you very much!

Best regards,

CEWE Stiftung & Co. KGaA mit Sitz in Oldenburg; Registergericht Oldenburg HR B 208214; Persönlich haftende geschäftsführende und vertretungsberechtigte Gesellschafterin:
Neumüller CEWE COLOR Stiftung, Sitz: Oldenburg;
Stiftungsverzeichnis der rechtsfähigen Stiftungen des bürgerlichen Rechts im Bezirk der Regierungsvertretung Oldenburg Nummer 15(034).
Dr. Rolf Hollander (Vorsitzender), Patrick Berkhouwer, Dr. Reiner Fageth, Dr. Christian Friege, Carsten Heitkamp, Dr. Olaf Holzkämper, Thomas Mehls, Frank Zweigle
Otto Korte (Vorsitzender)
UST ID-Nr. DE815453806; St.-Nr. 64/200/38999; GLN 40 04468 00000 4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.oetiker.ch/pipermail/rrd-users/attachments/20161026/53f4db25/attachment.html>

More information about the rrd-users mailing list