[rrd-users] Normalization and NaN (?)
ubuntu at realloc.net
Thu Dec 23 13:10:37 CET 2010
I am using RRDtool (through Cacti). I am trying to reproduce the
graph found here:
It's a graph of open file handles on a Linux system (incl. sockets
and pipes). There are 5 lines on the one graph, with 5 different inputs.
My version of that graph *almost* works. Everything works, except
that the "files" count is always NaN.
I have done all the standard troubleshooting. My Cacti script
produces correct output like this:
files:2976 pipes:23 tcp:38 udp:35 unix:226
The only thing I can see that might cause "files" to break (whereas
all the other inputs work fine) is that "files" is roughly one or two
orders of magnitude bigger than the other inputs.
This is not a case of "files" exceeding the maximum value. That
was the first thing I checked. Here is a snippet from "rrdtool info
ds[files].type = "GAUGE"
ds[files].minimal_heartbeat = 600
ds[files].min = 0.0000000000e+00
ds[files].max = NaN
ds[files].last_ds = "U"
ds[files].value = NaN
ds[files].unknown_sec = 3
Notice that max is NaN, which I believe means there is no maximum.
The min and max settings are identical for the other data sources.
So I am left wondering why RRDtool can't accept those large values
for "files". I suspect two things:
Hypothesis #1: During the "normalization" phase, somehow RRDtool is
computing that "files" is an invalid number because it's so much bigger
than the other inputs.
Hypothesis #2: I am using the option "--alt-autoscale-max" when
generating the graph. Perhaps there is a problem trying to scale the Y
axis with such widely varying inputs?
(I consider hypothesis #2 to be very weak, because the NaN shows up
in my .rrd file, regardless of whether or not I create a graph from that
As I troubleshoot this problem, I can see that the author of the
original graph (linked above) converted his "files" input -- and only
"files"! -- to "kilo-files", meaning, he divided the number of files by
one thousand. There is a "k" after the files count on his graph. So I
suspect he had the same problem I'm having, and he fixed it by dividing
by 1000 to bring the number for "files" closer to the other numbers.
So my question is... why does this happen?
I understand that a graph of 2976 "files" would make the values of
23, 38, and 35 (for "pipes", "tcp", and "udp" respectively) look
basically like zero on a graph that's only 120px tall, and thus, it
would be useless. But I expect RRDtool to give me an useless graph, not
NaN in my .rrd database.
Any assistance is greatly appreciated.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the rrd-users