Real time application bandwidth monitoring - hilbix/netdata GitHub Wiki
this is incomplete!
Overview
Per application bandwidth monitoring is Linux, is problematic. The Linux kernel does not expose counters for the bandwidth its processes send or receive.
So how can we get bandwidth charts like this?
The solution is very simple:
- Use FireQOS to classify traffic for each application, at the network interface level
- Use Netdata to visualize them in real-time
You can install these packages, on every server - and / or a Linux router that all the traffic passed through. Usually I do both. I install a basic FireQOS configuration on each server (no need for actual traffic shaping - just classification) and a more complex FireQOS configuration at the core routers of my DMZ.
Let's see an example:
FireQOS
FireQOS is part of FireHOL. If you install the firehol package using your linux distribution package manager, you will most probably get FireQOS too. Otherwise, you can follow this procedure to install all the FireHOL tools directly from source.
FireQOS will setup tc
classes and filters. Everything is handled by the Linux kernel, so you don't need to run a daemon. You configure it, you run it just once, and this is it.
You need a FireQoS configuration file (/etc/firehol/fireqos.conf
) like this:
interface
You can apply it using the command:
fireqos start
If you need more help to set it up, you can also follow the FireQoS tutorial.