InfluxDB - Zeitreihendaten speichern und abfragen
InfluxDB - Zeitreihendaten speichern und abfragen
InfluxDB ist eine hochperformante Zeitreihendatenbank, die für das Speichern und Abfragen von Metriken, Sensor- und Monitoring-Daten optimiert ist.
Was ist InfluxDB?
Während relationale Datenbanken für zeitgestempelte Messdaten schnell an ihre Grenzen stoßen, ist InfluxDB genau dafür ausgelegt: Millionen von Datenpunkten pro Sekunde schreiben, komprimiert speichern und über die eigene Abfragesprache Flux effizient auswerten. In Kombination mit Grafana entsteht ein vollständiges Monitoring-System für Heimnetzwerk, Server oder IoT-Geräte. InfluxDB 2.x bringt eine eigene Web-UI, Dashboards und eine integrierte Authentifizierung mit.
Voraussetzungen
- Docker 20.10+ / Docker Compose
- Mindestens 512 MB RAM (mehr bei hohem Datenvolumen)
- Persistentes Volume für Datenbankdaten
Compose-Beispiel
services:
influxdb:
image: influxdb:latest
container_name: influxdb
restart: unless-stopped
ports:
- "8086:8086"
volumes:
- ./data:/var/lib/influxdb2
- ./config:/etc/influxdb2
environment:
- DOCKER_INFLUXDB_INIT_MODE=setup
- DOCKER_INFLUXDB_INIT_USERNAME=admin
- DOCKER_INFLUXDB_INIT_PASSWORD=sicherespasswort
- DOCKER_INFLUXDB_INIT_ORG=meine-org
- DOCKER_INFLUXDB_INIT_BUCKET=metrics
- TZ=Europe/Berlin
Hinweise
- Die
DOCKER_INFLUXDB_INIT_*-Variablen gelten nur beim allerersten Start; danach werden sie ignoriert. - Telegraf ist der offizielle Agent zum Sammeln von System-Metriken und kann als separater Container im gleichen Netzwerk betrieben werden.
- Über die Web-UI unter Port 8086 können Dashboards erstellt und Flux-Abfragen direkt getestet werden.
- Für die Anbindung an Grafana wird der InfluxDB-Datasource-Plugin und ein API-Token (erstellt in der InfluxDB-UI) benötigt.