Re: [rrd-users] DERIVE vs COUNTER

This is a discussion on Re: [rrd-users] DERIVE vs COUNTER within the RRD Users forums, part of the Networking and Network Related category; On Sat, Mar 22, 2008 at 01:49:16AM +1100, Jean-Yves Avenard wrote: > Hi. > > I want ...


Go Back   Usenet Forums > Networking and Network Related > RRD Users

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 03-21-2008
Alex van den Bogaerdt
 
Posts: n/a
Default Re: [rrd-users] DERIVE vs COUNTER

On Sat, Mar 22, 2008 at 01:49:16AM +1100, Jean-Yves Avenard wrote:
> Hi.
>
> I want to measure the amount of traffic going through my ADSL link.
>
> The data will be fetched using snmp every minute.
>
> One issue is that the snmp server on my ADSL modem only supports 32
> bits counter. So it is possible for the counter to reset due to an
> overflow.


That's no reset. Don't think of it that way, it will just confuse you.

> Another issue is that if there's a connection drop-out (and this can
> happen several times a day on my DSL connection) the modem when it
> re-establishes the connection reset the counter I am reading.


This should be detectable. A suggestion follows below.

> In the past I used mrtg for measuring the bandwidth. Unfortunately,
> often after a reset of the counter that wasn't due to an overflow,
> mrtg recorded the value as if an overflow did happen and it would mess
> up my graphs and the scale used (the remaining of the traffic would
> look like a flat line close to 0).
>
> My DSL modem is syncing at 12mbit/s, so an overflow can not happen
> within a 1 or even 5 minutes interval.


And, perhaps more important, the rate computed cannot be more than
12mbps. Use this knowledge, that's why rrdtool know about a minimum
and maximum rate.

But use this only as a safe-guard to detect the most obvious problems.
It won't detect a reset which happens when the counter was at
2^32-${small value}.

> The RRD documentation describes the difference between the type
> COUNTER and DERIVE.
>
> Which type of data should I use when using rrdtool create?


Using DERIVE, together with a minimum rate of zero, is a trick to
ignore *any* counter value which is lower than the previous one.

So, the question you need to ask yourself is: do you want to take
a few shortcuts at the expense of loosing a little bit of information.

If yes: go for derive + minimum_rate==0
If no: go for counter, and detect resets

> is there a way for rrd to always determine if a reset is a due to a
> reset of the modem or due to an overflow?


No, not in rrdtool. That is a front-end responsibility.

As a start: you can probably find uptime in snmp. If this is lower
than the previous time assume a reset has happened.

Update with "U" at time "$time-1"
Update with the current counter value at time "$time"

Or, if you want:
find out how long the device is running since the reset -> boottime
Update with "U" at time "$boottime-1"
Update with zero at time "$boottime"
Update with the current counter value at time "$currenttime"


In either case, your front-end (the script calling rrdtool) should
keep track of that uptime variable. Either keep a daemon running,
or fetch and store the uptime each time your script runs.

HTH
--
Alex van den Bogaerdt
http://www.vandenbogaerdt.nl/rrdtool/

_______________________________________________
rrd-users mailing list
rrd-users@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users
Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 12:27 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0