|
andreas,
I've been looking at this problem and I think I've found part of an explanation, but haven't figured out how to make things work out correctly. From the rrdcreate manpage:
COUNTER
is for continuous incrementing counters like the ifInOctets
counter in a router. The COUNTER data source assumes that the
counter never decreases, except when a counter overflows. The
update function takes the overflow into account. The counter
is stored as a per-second rate. When the counter overflows,
RRDtool checks if the overflow happened at the 32bit or 64bit
border and acts accordingly by adding an appropriate value to the result.
(emphasis mine). So what needs to happen is for the RRD file to *not* add that "appropriate value" to the low counters. I'm think that removing the Maximum Value setting from the low counters would do it, but that seems to be difficult without re-implementing the data template. Another possibility is to change the data type to "GAUGE" instead of "COUNTER". I'll keep working on it.
HTH,
-=Tom Nail
|