Query your data streams with the time series database InfluxDB and then visualize the results with stunning Grafana dashboards. Quick and easy to set up. Fully scalable to millions of metrics per second.
4. Current - 0.8.8
● Started: 2013ish
● Paul Dix
● ErrPlane
● MIT license
● Written in GO
● Uses LevelDB, RocksDB, HyperLevelDB, or LMDB as database
Future - 0.9.0
● Tags and measurements - API more coherent with domain
● BoltDB
5. InfluxDB Design Goals
● Simple to install and manage. Shouldn’t require setting up
external dependencies like Zookeeper and Hadoop.
● HTTP(S) interface for reading and writing data.
● Horizontally scalable.
● On disk and in memory. Most data is cold.
● Compute percentiles and other functions on the fly.
● Downsample data on different windows of time.
10. InfluxDB Query Language
select val from server1
select val1, val2 from server1
select * from server1
select cpu from /server.*/
select * from /.*/ where time > now() - 1h
select * from /.*/ where time > '2013-08-12 23:32:01'
select * from /.*/ group by time(10m)
select count(val) from /.*/ group by time(10m)
select percentile(val, 95) from /.*/ group by time(10m)
select count(distinct(val)) from /.*/
11. Generating Metrics (http://g:8086/)
● 22 client libraries
● 31 Sources -> fluentd -> InfluxDB
● Graphite -> InfluxDB
● Use the REST API
Random Server CPU
$ while true; do for i in {1..5}; do y=$[$i*2+$[RANDOM%20]];
curl -X POST "g:8086/db/demo/series?u=root&p=root" -d
'[{"name": "server'"$i"'.cpu","columns": ["val"],"points":
[['"$y"']]}]'; done; sleep 1; done;
12. Continuous Queries
Automatically downsample a series with a longer retention period
Series A - Every second for a week (604k)
Series B - Every hour for 5 years (40k)
Downsample aggregates to an hour
13. Current - 1.9.1
● Started: Dec 5 2013
● Torkel Ödegaard
● Apache 2.0 license
● Pure JavaScript
● Inspired by Kibana
Future - 2.0
● GO backend
● PNG rendering
● Corporate support by Raintank - Continue as open source