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.