SNMP polling for performance data

There are many commercial products that will collect device and interface statistics for network devices. I am investigating open source products to perform snmp polling, data storage and graphing. There are some open source products (like Observium) that will do fine with a small number of devices, but I am looking to find something that can scale to over 10,000 network devices.

Currently I’m looking at collectd for actually collecting the data. So far I have tested it as a local collector for Linux servers, so I have to determine how well the snmp poller performs.

Most system monitoring tools use RRD for data storage. There seems to be quite a bit of innovation around time series databases. I started looking at OpenTSDB and InfluxDB for data storage.

My current setup consists of collectd pushing data into InfluxDB (via write_graphite). For graphing, Grafana seems to be the most commonly used front end. If you have done any work with the ELK stack, Grafana will look very familiar as it is based on Kibana.

If I make any meaningful progress, I will document the configurations of the applications. I also plan on investigating some of the more recent methods of collecting performance data.