On 06/06/2017 13:25, nfsen-discuss-requ...@lists.sourceforge.net wrote:
At this point, I got some divergence of data comparing Cacti/nfsen/nfdump,
e.g:
timeslot Jun 02 2017 - 11:55 - Jun 02 2017 - 15:50
cacti: 650G
nfsen: 617G
nfdump: 575G
nfsen just runs nfdump to show and aggregate flows. In fact, if you look
at the bottom section of the screen, it gives you the exact nfdump
command line it runs. So comparing the command line you ran with the
command line nfsen ran may help.
If you're post-processing the output from nfdump, you might can use the
'-N' option to get figures printed as byte counts rather scaled to
different units.
Actually, unit scaling appears to be one of your problems. Notice that
575GiB (575x1024^3) is the same as 617GB (617*1000^3). Use numfmt
--to-si instead of --to-iec to make them match (*)
As for the difference with Cacti: firstly, are you adding in and out
together? Otherwise you'll need to configure your nfdump queries with
filters to separate inbound and outbound traffic.
Other differences can be due to nfcapd showing flows which don't pass
through the interface which Cacti is monitoring, or vice versa - this
isn't usually a problem if you're talking about a router interface
rather than a switch interface.
It can also be to do with the handling of long-lived flows. For
example, there could be a long flow which was in progress at 15:50 (like
a long download) which hadn't completed.
You didn't say what router you're using, but if you configure it to
expire flows after 5 minutes, usually you'll find the flow data aligns
better with Cacti.
Another possibility is to do with packet headers: that is, maybe your
Cacti interface counters are counting the full frames with ethernet
headers, and nfdump is just looking at the IP packets.
Yet another possibility is non-IP traffic traversing the interface,
which Cacti will count but nfdump won't. (This includes ARP, along with
rarities like Netbeui, IPX and IS-IS). You might also find that your
router doesn't generate flows for broadcast traffic, but the interface
counters will count it.
If you want to pin this down, set up a "quiet" test network, read the
interface counters with snmpwalk, send a known number of test packets of
known size, and check again. Compare with the flow data you receive.
Regards,
Brian.
(*) It is arguable which is correct to use for this application.
Communication systems always use power-of-ten units: e.g. 64Kbps is
64,000 bits per second, and gigabit ethernet is 1,000,000,000 bits per
second. The nfdump manpage says it uses multiples of 1000.
Computers traditionally use power-of-two units, especially for RAM.
However, hard drive manufacturers use power-of-ten units, since a 500GB
drive sounds better than 465GiB.
So you have to be clear which you're using. If you are charging per GB,
tell your users whether this means 1000x1000x1000 bytes or
1024x1024x1024 bytes.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Nfsen-discuss mailing list
Nfsen-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfsen-discuss