We're about to purchase a pair of Cisco 7201s for our edge routers, and some Juniper EX4200s for core. And I'm looking for implement bandwidth accounting for our hosted servers on this hardware (most likely the 7201s).
I understand that RADIUS is typically used for bandwidth accounting for tails, but what's typically used to track data use of customer servers, in terms of GB / month? Currently each customer is assigned their own VLAN for all servers, so for billing purposes per VLAN counters would suffice. Though, for informational purposes, would probably want per-IP counters so that we can show BW per server.
I'm coming from an environment where we currently use a Linux router on a stick. Right now, I've configured IPTables to store counters based on src/dst IP addresses per customer, and put together a perl script to collect those counters every 5 minutes. The data are then parsed and then stored in a database. This works well, and my tests have shown it to be accurate.
Currently our edge transit is < 50 Mbps, but I'm looking to scale to around 300 Mbps, so I'd want to ensure I can implement this without overloading the routers (as we'll using them for a fair bit - LNS, MPLS, Static NAT, 10~ Mbps AES IPSec).
Should I be looking at NetFlow to accomplish, or perhaps port mirroring, or something else entirely?