Bandwidth monitoring
Robert Watson
rwatson at freebsd.org
Thu Jun 26 15:45:22 PDT 2003
On 24 Jun 2003, Adam wrote:
> My ISP is placing strict restrictions on how much I can transfer each
> month, with high penalties for exceeding their limits. However, they
> don't provide any way for their customer's to check to see how much
> they've transferred, so we end up transferring far less than what we are
> allowed, just to make sure we avoid paying the fines for going over the
> limit.
>
> So, what I need to do is find a way to monitor my total bandwidth
> through my external NIC. My gateway is running FreeBSD 4.8 with
> ipf+ipnat.
>
> I *don't* need anything fancy. All I need is to be able to check at any
> time how much I've transferred since the first of the month. What's the
> easiest way to set up something like this? I know there are fancy
> solutions with graphs with usage stats and such, but that's not what I'm
> after.
>
> Thanks for your advice,
I use the following home-grown tool to measure bandwidth consumed by
the hosts on my ethernet segment:
http://www.watson.org/~robert/freebsd/bpfmon.tgz
It uses BPF to monitor traffic on the segment, and drops bandwidth samples
into a data directory every five minutes. there's a post-processing
script that generates a CSV of samples, by local host, for easy
consumption in a spreadsheet. It's not a great program, but it is cute
and works. Make sure to read the README if you use it; you have to set a
few things at compile-time, since I wrote it for local use and never
really attempted to generalize. I use it to monitor inbound and outbound
IP traffic for around 400 hosts here for precisely the same reason you are
interested :-).
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Network Associates Laboratories
More information about the freebsd-net
mailing list