I am setting up a new network which customers will host their applications on. It needs to be able to scale out to a few hundred servers and each server will have several VMs on it. Right now in my test environment, after the telco router, we are using a Linux router/firewall which is then connected to a Layer 2 switch. Could be a layer 3 in the future. I need to track total bandwidth per VM for each machine, and I need to do it in a way that it is not part of the VM. Each VM will have a private class ip address which is Natted by the gateway, or we may eventually run more than firewall/reverse proxy off a layer 3 switch.

So my thinking is that I can do it off of a promiscuous port on the switches, or at the gateway firewall. I would like to have an out of the box solution, preferably open source. Does anyone have suggestions on the easiest way to set this up, and the easiest tool to use. I have looked at the web sites for Nagios, Zenoss, Zabbix, ntops on the firewall, etc. It is hard to ascertain just from the web sites if they do exactly this or not. Obviously, performance is also somewhat key here. Anything running on the gateway should not drag it down doing traffic accounting.

Thanks for any thoughts.

Tony Zakula


If you're using VMWare's ESX/ESXi and vCenter then consider using their own Chargeback product - it'll let you charge on a per-VM/customer/vApp basis based on a range of measurements.

  • Is there any alternative? It seems that after almost 4 years, still there is no straight forward way to measure monthly traffic per VM without direct access to it :( – Cha0s Jan 12 '14 at 18:44

Split your network into a vlan per customer and graph with Cacti? Sorry on my phone, can't really get all fancy with my reply ;)

  • I guess I would have trouble seeing that as scalable because if you had a 1000 customers you would have to set up a vlan for each. Am I wrong? It seems like tracking by ip address would be easier. – TonyZ Apr 22 '10 at 15:33
  • You could graph per IP address, but this would only work if each of the VM's has SNMP enabled and configured, so unless this is a controlled deployment where each VM is imaged/configured by you, there is no way to enforce that. ESXi server may provide enough of SNMP stack to graph individual VM's, but i would not bet on it. – solefald Apr 22 '10 at 15:47
  • @solefad - ESXi doesn't support SNMP - remote management is via WS-MAN and even that is disabled by default and only available on when fully licensed. It doesn't seem likely that TonyZ is considering a vSphere\ESXi solution but this level of detail is possible with fully licensed vCenter\ESX\ESXi solutions. – Helvick Aug 22 '10 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.