InfluxDB / Grafana

Collecter et exploiter vos données temporelles

Nicolas Steinmetz / Septembre 2015

InfluxDB

An open-source distributed time series database with no external dependencies. InfluxDB is the new home for all of your metrics, events, and analytics.

Overview

  • Go
  • 0.9.4 (16 Sept 2015)
  • MIT License
  • Use cases : DevOps, Metrics, Sensor Data, Realtime analytics

Features

  • Time centric functions (mean, max, min, media, sum, ...)
  • "Schema less" events
  • SQL-like query language
  • Horizontal scalability : Cluster, Replication, HA = alpha state
  • Native HTTP API (+ Ruby, Python, Go official clients + UDP)
  • Built-in explorer + CLI client
  • Retention Policy
  • Roles & Authentication

Show me your data


<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>
... [unix-nano-timestamp]
						

cpu,host=serverA,region=us_west value=0.64
stock,symbol=AAPL bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37
						

Play with data


INSERT temperature,machine=unit42,type=assembly ext=25,int=37
SELECT * from temperature where machine='unit42'
SELECT * from temperature where machine='unit42' and int > 30
SELECT count(*) from temperature GROUP BY type
DROP MEASUREMENT temperature
DROP SERIES FROM temperature WHERE machine = 'unit42'
SHOW TAG KEYS (from temperature)

CLI

Web UI

Input Plugins

Output Plugins

Grafana

An open source, feature rich metrics dashboard and graph editor for Graphite, InfluxDB & OpenTSDB.

Overview

  • Go
  • 2.1 (July 2015)
  • Apache 2.0 license

Features

  • Rich styling / graphing
  • Graphite/InfluxDB Query Editor
  • Templates
  • Annotations
  • Multiple datasources
  • Authentication / Authorisation

Conclusion

Facile à appréhender et mettre en place (< 2h)

Prochaines étapes :

  • Analytique ++
  • Machine learning ?
  • Interaction avec les LED
  • Dockeriser l'ensemble