2.3 KiB
InfluxDB integration
InfluxDB is a very fast time series database written in awesome Go language. You could find some performance tests for InfluxDB and Graphite here.
You could install InfluxDB from binary packages.
For Debian 8 Jessie I could offer part of this manual here: Note: Nightly build current version = 0.9.3
wget https://s3.amazonaws.com/influxdb/influxdb_nightly_amd64.deb
sudo dpkg -i influxdb_nightly_amd64.deb
Then we should enable graphite protocol emulation in configuration file: /etc/opt/influxdb/influxdb.conf: As well add templates for converting graphite metrics to InfluxDB measurements with proper tags. Note: We recommend you to use InfluxDB nightly build (0.9.3), so you can enable batch-size. This should help not losing metrics under high DB cpu/io load
[[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:
select MEAN(value) from "fastnetmon.outgoing.pps"
name: fastnetmon.outgoing.pps
-----------------------------
time mean
1970-01-01T00:00:00Z 334968.38950276235
Or you could install Grafana and make awesome Dashboard ;)