[rrd-users] iptables/per-Mac bandwidth monitoring with RRD

Alex van den Bogaerdt alex at vandenbogaerdt.nl
Sun Dec 16 01:56:02 CET 2012

> However when viewing graphs generated from this data seems erratic or
> inconsistent with the built in monitoring system on the router.

I'm not diving in all sources of information; just providing some stuff
for you to check:

> My rrd database setup :
> rrdtool create "$deviceMAC".rrd
> 	--step 60 \
> 	'DS:upload:ABSOLUTE:120:0:U' \
> 	'DS:download:ABSOLUTE:120:0:U' \
> 	'RRA:LAST:0.5:1:89280'

Why "LAST" ?  I think you would want to use AVERAGE.

Consider what happens when data is consolidated (at graph time) and you
consolidate zero and 100 Mbps into one timeslot: you get 100 Mbps for the
combined time interval, not 50.  Another consolidation action may be to
consolidate 100 Mbps and 50 Mbps into one time interval. You get 50 Mbps
for the combined interval instead of 75.  => 0,100,100,50 is changed into
100,50 where it should be 50,75. This is going to mess up your totals.

> Im getting the image with the following call :
> 			 --base=1024 \

base 1024 for network equipment? please verify this, i think it is wrong.

Computers show megabytes as 1024 times 1024. Network equipment shows
megabytes as 1000 times 1000.  100 Mbps equals 12500000 bytes per second,
not 13107200.

> What I'm trying to do is get a history of total traffic for a given device
> on the network for a rolling 2 month period. I'm not entirely interested
> in
> per-second averages but only the total transferred.

Total is basically the rate multiplied by the time this rate was valid.
When the rate is wrong, so will be the total. Make sure your database
contains an accurate average rate for each interval, so that TOTAl can
compute an accurate total.

This brings me to another possible problem: what happens if there is no
data recorded for a MAC previously active on the network?  If you receive
'zero', then fine, but if you do not receive data at all, this may also
cause problems.

You need zero, not unknown, in your database when there was no traffic.

> My Main question is if im recording the data wrong or if it's being
> displayed wrong.
> I don't know if the  bits/bytes|SI/Metric
> <http://www.speedguide.net/articles/bits-bytes-and-bandwidth-reference-guide-115>
> conversion is being done correctly.

>  Another fun part is im doing all this in Bash3 and i don't know if that
> is
> also affecting it.
> Any help would be greatly appreciated.

When in doubt, echo your input and your commands to a log file, and
manually verify that it is what you expected it to be.


More information about the rrd-users mailing list