We’re running an IP accounting solution that stores it’s data in Elasticsearch and uses Grafana to draw graphs from said data. Every minute sent/received bytes gets aggregated for every IP address so that we have a field for src_ip, dest_ip, bytes etc in our indices. Unfortunately we are quite new to Grafana.
So far we’ve set up a graph that show the inbound traffic in bytes with the query src_ip:$ip (also used templating to get all the src_ip in a drop down menu). The graph uses the metric sum bytes and groups by @timestamp. This shows the sum of all bytes in a given interval, but we’re more interested in getting bandwidth utilization.
What we can’t seem to figure out is how, if at all possible, to get the bandwidth usage (Mbps) per IP over time (in the end we want to see a monthly graph). I’m assuming we need to multiply by 8, but where? And divide by however large our interval is to get seconds? Do we need to run a derivative somewhere? Will that work with aggregated bytes? In short, what query/metrics etc should we use to get a fair representation of bandwidth usage?
Any help is appreciated.