Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I would like to know what application is best for measuring bandwidth usage in large datacenters.

Our company is in the process of setting up a DC which will have around 1000 physical servers. We want to measure the outgoing and incoming traffic from the DC. We don't need to keep track of internal network activity. Something that tells us how much bandwidth each host has used per minute/hour/day/month.

I have used vnstat in the past, but it doesn't show you per-host usage.

Is it possible to use any Nagios plugin to monitor firewalls/routers using SNMP and generate reports?

I haven't worked on such large networks so am a bit lost here.

share|improve this question

You can use Cacti to graph switch port traffic with SNMP.

share|improve this answer
Can Cacti be configured to display how much bandwidth each host is using? – Debianuser Dec 14 '11 at 14:01
It can monitor individual switch ports. Or anything you can get with SNMP. – Stone Dec 14 '11 at 14:17
So to directly answer his question: No, this will only give you aggregate interface metrics and will reach no further than that. If you want details past layer 3 packets in packets out you need a more advanced tool. – SpacemanSpiff Dec 14 '11 at 18:35

You can use Netflow on your switches or routers to mirror or sample traffic to a collector which can give you detailed information on what hosts and protocols are being utilized. SNMP based collections will only give you per interface performance statistics, not detailed information. Some firewalls can also give you detailed information, but that would only be at the edge. I recommend NetFlow.

share|improve this answer
+1. Netflow is probably the best solution. – joeqwerty Dec 14 '11 at 14:13
Is there an open source tool that I can use to parse data collected by NetFlow? Or someway to feed the data to a MySQL database? – Debianuser Dec 14 '11 at 15:03
@debianuser JKFlow ( is the canonical netflow parser-grapher-thingy. You will need a flow collector daemon (cflowd / flow-tools) and a metric buttload of perl modules. Storing this data in a database is a Bad Idea (netflow data for even a medium sized site can be on the order of gigabytes per hour - rrd files are the usual way of handling it.) – voretaq7 Dec 14 '11 at 18:01
Two downvotes 3 years later? Really? :D – SpacemanSpiff May 11 '14 at 23:56
up vote 1 down vote accepted

Answering my own question after all these years:

Nagios Network Analyzer does this well(using netflow).

share|improve this answer

I agree with Stone and SpacemanSpiff. Cacti is very nice for an overview of what is going on, on a per interface basis. If you want a more detailed output you can use Netflow on the switches and then send the data to Ntop. Ntop is also free and it does a very good job of showing you a breakdown per IP and also shows you specific information about the type of traffic that is going on.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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