Xymon Mailing List Archive search

weird rrd output (using the NCV module)

3 messages in this thread

list Gary Baluha · Thu, 13 Sep 2007 11:20:03 -0400 ·
I'm seeing a weird output for one of my custom RRD graphs, using the NCV
module.  The collector script on the client
is creating an ncv-style output based on the bind 9 "rndc stats" command.
These numbers are counter-style numbers,
always increasing (until named is restarted).  As such, the default DERIVE
format of the NCV module is correct.

The problem I'm seeing is that the numbers showing up in the RRD graph--as
far as I can tell--have nothing at all to do
with the actual "rndc stats" values.  For instance, the "last" and "current"
values of the data was:

success : 283  ->  294  (11)
referral : 0  ->  0  (0)
nxrrset : 149  ->  156  (7)
nxdomain : 298  ->  312  (14)
recursion : 247  ->  254  (7)
failure : 400  ->  400  (0)
duplicate : 0  ->  0  (0)
dropped : 0  ->  0  (0)

The number in () above is the actual difference between the numbers, and the
values I'm expecting to show up in the RRD graph.
But the actual values that are showing up for the above example (for the
"(cur)" value) are, respectively:
34.0m
0.0
20.8m
41.6m
25.6m
0.0
0.0
0.0

These numbers don't correspond to any value, anywhere.  Any idea where these
numbers are coming from?  I can post the
relevant section of the hobbitgraph.cfg file if that would help.  I'm not
sure if this is an RRD issue or Hobbit issue, but when
I use rrdtool to dump the actual RRD file, the value for "<last_ds>" is the
correct value.
list Henrik Størner · Thu, 13 Sep 2007 18:14:48 +0200 ·
quoted from Gary Baluha
On Thu, Sep 13, 2007 at 11:20:03AM -0400, Gary Baluha wrote:
I'm seeing a weird output for one of my custom RRD graphs, using the NCV
module.  The collector script on the client
is creating an ncv-style output based on the bind 9 "rndc stats" command.
These numbers are counter-style numbers,
always increasing (until named is restarted).  As such, the default DERIVE
format of the NCV module is correct.

The problem I'm seeing is that the numbers showing up in the RRD graph--as
far as I can tell--have nothing at all to do
with the actual "rndc stats" values.  For instance, the "last" and "current"
values of the data was:

success : 283  ->  294  (11)
referral : 0  ->  0  (0)
nxrrset : 149  ->  156  (7)

The number in () above is the actual difference between the numbers, and the
values I'm expecting to show up in the RRD graph.
But the actual values that are showing up for the above example (for the
"(cur)" value) are, respectively:
34.0m
0.0
20.8m

Everything is behaving the way it should, but it doesn't match your
expectation.

The problem is that rrdtool treats counters (and derive's) as RATES,
i.e. "this many X per second". So when you have 11 requests over a 5
minute period, rrdtool records (11 / 300) = 0,037 requests/second.
That's why you have that "34.0m" recorded - apparently there was
slightly more than 300 seconds between the two readings.

If you want the graph to show how many requests occurred over the 5
minute period, then the simplest way is to define the graph to use
a value which is 300 times the actual value recorded by rrdtool :-)


Regards,
Henrik
list Gary Baluha · Thu, 13 Sep 2007 13:41:33 -0400 ·
quoted from Henrik Størner
On 9/13/07, Henrik Stoerner <user-ce4a2c883f75@xymon.invalid> wrote:
On Thu, Sep 13, 2007 at 11:20:03AM -0400, Gary Baluha wrote:
I'm seeing a weird output for one of my custom RRD graphs, using the NCV
module.  The collector script on the client
is creating an ncv-style output based on the bind 9 "rndc stats"
command.
These numbers are counter-style numbers,
always increasing (until named is restarted).  As such, the default
DERIVE
format of the NCV module is correct.

The problem I'm seeing is that the numbers showing up in the RRD
graph--as
far as I can tell--have nothing at all to do
with the actual "rndc stats" values.  For instance, the "last" and
"current"
values of the data was:

success : 283  ->  294  (11)
referral : 0  ->  0  (0)
nxrrset : 149  ->  156  (7)

The number in () above is the actual difference between the numbers, and
the
values I'm expecting to show up in the RRD graph.
But the actual values that are showing up for the above example (for the
"(cur)" value) are, respectively:
34.0m
0.0
20.8m

Everything is behaving the way it should, but it doesn't match your
expectation.

The problem is that rrdtool treats counters (and derive's) as RATES,
i.e. "this many X per second". So when you have 11 requests over a 5
minute period, rrdtool records (11 / 300) = 0,037 requests/second.
That's why you have that "34.0m" recorded - apparently there was
slightly more than 300 seconds between the two readings.

If you want the graph to show how many requests occurred over the 5
minute period, then the simplest way is to define the graph to use
a value which is 300 times the actual value recorded by rrdtool :-)

Oh dear...  I completely misinterpreted what the RRD doco was trying to tell
me.  As always, thanks for your help.