written by Nicolas Untz on 2016-12-30

I have been using Grafana for a while now, to track our bandwidth usage on our Ubiquiti ER-X router. Grafana is great, it supports a number of data sources, including Graphite, Prometheus, and InfluxDB.

Screenshot

I have chosen InfluxDB and its sibling, Telegraf, to collect data from the router using SNMP. The environment was running on a Raspberry Pi, which was a real challenge to maintain, especially when building Grafana on ARM. Since I was also running UniFi controller on the same Raspberry Pi, performance overall was becoming an issue. So I decided to upgrade to an Intel NUC to get better performance, and the ability to deploy standard Docker containers.

Installing Ubuntu 16.04 LTS and Docker was straightforward, as documented in this other page. Then I created a Docker Compose file to define the various container images required, and their configuration. The biggest challenge was the missing SNMP tools in the Telegraf official image. I ended up creating a new Docker Hub repository, with a new image that includes Net-SNMP. I documented the whole procedure here.

Bonus: I am also now running UniFi controller as a Docker container.