In nur wenigen Jahren hat Influxdata die dritte Version (InfluxDB 3) von der InfluxDB herausgebracht und mal wieder einige Änderungen in die neue Version implementiert. Ich nutze diese Datenbank vor allem für meine Performance Daten im Heimnetz. Zum Beispiel meine Proxmox VE Hosts senden Ihre Performance Daten (Metriken) an diese Datenbank. Was sich alles in der Version 3 der Datenbank geändert hat, habe ich in einem Video festgehalten. Das Video findet ihr weiter unten in diesem Artikel.

Die Datenbank lässt sich natürlich auch direkt als Software auf einem Debian und Konsortium installieren, ohne Docker nutzen zu müssen. Aber wie wir in Vergangenheit gelernt haben, ist eine Docker-Plattform für solche Anwendungen absolut das Richtige.

docker-compose.yml für die neue InfluxDB 3 Datenbank anlegen.

name: influxdb3
services:
  influxdb3-core:
    container_name: influxdb3-core
    image: influxdb:3-core
    ports:
      - 8181:8181
    command:
      - influxdb3
      - serve
      - --node-id=node0
      - --object-store=file
      - --data-dir=/var/lib/influxdb3/data
      - --plugin-dir=/var/lib/influxdb3/plugins
    volumes:
      - type: bind
        source: /opt/influxdb3/core/data
        target: /var/lib/influxdb3/data
      - type: bind
        source: /opt/influxdb3/core/plugins
        target: /var/lib/influxdb3/plugins

In diesem Compose File können wir natürlich auch weiterhin einige weitere Spezifikationen einbauen, aber diese solltest du in der offiziellen Doku nachlesen. Wir starten jetzt erstmal mit dieser normalen Konfiguration. Aber vorher legen wir schnell die passenden Ordner an um die persistenten Daten zu speichern.

mkdir -p /opt/influxdb3/data
mkdir -p /opt/influxdb3/plugins
chmod -R 755 /opt/influxdb3/

docker compose up -d

Jetzt haben wir erst einmal die Datenbank laufen und möchten nun eine neue Datenbank mit einer Datenretention von 90 Tagen starten. Dafür gehen wir in den Container und erstellen mit dem Kommando influxdb eine neue Datenbank. Wer seine Daten unendlich lange aufbewahren möchte, der nutzt anstatt „90d“ einfach „none“. Aber als Erstes brauchen wir einen nutzbaren Admintoken, mit welchem wir uns gegenüber der Datenbank authentifizieren.

docker exec -it influxdb3-core influxdb3 create token --admin

New token created successfully!
Token: apiv3_ft_BYEzqYklezUwAvDmOooYZQfUTvOlsI3rYLGaGGH7ArMqQJUd0ogT3_Tjno7IhQXvABH4bc3uuMEDJoJ1G3Q
HTTP Requests Header: Authorization: Bearer apiv3_ft_BYEzqYklezUwAvDmOooYZQfUTvOlsI3rYLGaGGH7ArMqQJUd0ogT3_Tjno7IhQXvABH4bc3uuMEDJoJ1G3Q
IMPORTANT: Store this token securely, as it will not be shown again.
docker exec -it influxdb3-core influxdb3 create database --retention-period 90d proxmox --token apiv3_ft_BYEzqYklezUwAvDmOooYZQfUTvOlsI3rYLGaGGH7ArMqQJUd0ogT3_Tjno7IhQXvABH4bc3uuMEDJoJ1G3Q

Database "proxmox" created successfully

Zusätzlich kann man hier jetzt auch noch die InfluxDB UI ausrollen, aber das zeige ich euch in einem weiteren Blogpost.

InfluxDB3 in Proxmox integrieren
InfluxDB3 in Proxmox integrieren

Quelle: https://hub.docker.com/_/influxdb