[hobbit] weird rrd output (using the NCV module)
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.
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
On 9/13/07, Henrik Stoerner <henrik at hswn.dk> 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.
participants (2)
-
gumby3203@gmail.com
-
henrik@hswn.dk