InfluxDB is a very fast time series database written in awesome Go language. You could find some performance tests for InfluxDB and Graphite here.
Please install InfluxDB from these binary packages.
Recommended version: >=0.9.4 with support for graphite/batching.
Then we should enable graphite protocol emulation in configuration file: /etc/opt/influxdb/influxdb.conf As well enable batch for avoid metric loss under load, and add templates for converting graphite metrics to InfluxDB measurements, with its proper tags.
[[graphite]] enabled = true bind-address = ":2003" protocol = "tcp" consistency-level = "one" name-separator = "." # batch-size / batch-timeout requires InfluxDB >= 0.9.3 batch-size = 5000 # will flush if this many points get buffered batch-timeout = "1s" # will flush at least this often even if we haven't hit buffer limit templates = [ "fastnetmon.hosts.* app.measurement.cidr.direction.function.resource", "fastnetmon.networks.* app.measurement.cidr.direction.resource", "fastnetmon.total.* app.measurement.direction.resource" ]
And disable Graphite daemons if you use they before:
systemctl stop carbon-cache
And start InfluxDB:
systemctl restart influxdb
You will got web frontend on 8083 port and query API interface on 8086.
Then we need fix some parts of /etc/fastnetmon.conf configuration file:
graphite = on graphite_host = 127.0.0.1 graphite_port = 2003 graphite_prefix = fastnetmon
And apply changes to configuration file:
systemctl restart fastnetmon
Finally you could query data from InfluxDB with CLI tool /opt/influxdb/influx:
Connected to http://localhost:8086 version 0.9.3-nightly-c2dbf16 InfluxDB shell 0.9.3-nightly-c2dbf16 > use graphite Using database graphite > show measurements name: measurements ------------------ hosts networks total > > select mean(value) from networks where direction = 'incoming' and resource = 'bps' group by * name: networks tags: app=fastnetmon, cidr=10.20.30.40_24, direction=incoming, resource=bps time mean ---- ---- 1970-01-01T00:00:00Z 408540.85148584365
Or you could install Grafana and make awesome Dashboard 😉