InfluxDB ist eine speziell für Zeitreihen entwickelte Open-Source-Datenbank (InfluxData, seit 2013). Messwerte wie Sensordaten, Metriken oder Log-Zähler werden mit einem hochauflösenden Zeitstempel gespeichert. Die Kommandozeile influx ist der klassische Zugang: Sie ist eine interaktive Shell, die direkt mit der HTTP-API der Datenbank spricht.

Erste Schritte

influx -username admin -password geheim
influx -execute 'SHOW DATABASES'

Mit -execute führt man genau ein Kommando aus und beendet die Shell wieder, praktisch für Skripte. Das Ausgabeformat lässt sich mit -format json oder -format csv steuern.

Wichtige Kommandos

  • Datenbanken: CREATE DATABASE messdaten, SHOW DATABASES, DROP DATABASE
  • Schreiben per Line Protocol: INSERT raum,temperatur,raum=kueche wert=21.5
  • Messdaten abfragen: SELECT mean(wert) FROM raum WHERE time > now() - 1h GROUP BY time(5m)
  • InfluxDB 2.x: influx setup, influx bucket create, influx write --bucket messdaten 'raum wert=21.5', influx query 'from(bucket:"messdaten") |> range(start: -1h)'

Das Line Protocol folgt dem Muster measurement,Tags Felder Zeitstempel — Tags sind indexierte Eigenschaften, Fields die eigentlichen Messwerte. InfluxDB 2 setzt auf die funktionale Abfragesprache Flux, InfluxDB 3 (Rust-basiert) dagegen wieder auf SQL und InfluxQL.

Praxis-Tipps

  • Retention Policies (v1) bzw. Buckets (v2) regeln, wie lange Daten vorgehalten werden.
  • Zeitstempel standardmäßig in Nanosekunden — bei influx write die Präzision mit --precision s angeben.
  • Für automatisierte Sammlung eignen sich Telegraf-Agents, die direkt ins Line Protocol schreiben.

Verwandte Grundlagen: Kafka-Befehle, Spark-Befehle, Elasticsearch-Befehle, ClickHouse-Befehle, MongoDB-Befehle, Bash-Befehle.