Influxdb v2 auf Proxmox (LXC)

Hier beschreibe ich eine Möglichkeit eine Influxdb auf Proxmox containerbasiert zu installieren.

  1. Login Proxmox
  2. Proxmox-Host Shell anwählen => Commando Prompt wird angezeigt
  3. Folgenden Befehl eingeben (aus https://tteck.github.io/Proxmox/)
    bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/influxdb.sh)"
    • Settings: „Advanced“
    • OS: Wähle Debian>Ubuntu 22.04 (LTS)
    • Container Type: Unprivileged
    • Password: Setze Root Passwort
    • Container ID: default belassen
    • Hostname: influxdbV2
    • Disk Size in GB: 8
    • CPU Cores: 2
    • RAM in MiB: 2048
    • Bridge: vmbr0
    • IP Adress: dhcp
    • IPv6: enable
    • MTU Size: blank
    • DNS Search Domain: blank
    • DNS Server IP: 192.168.3.1
    • MAC Address: blank
    • Vlan: blank
    • Enable Root SSH Access: yes
    • Enable Verbose Mode: no
    • Create InfluxDB LXC: yes

  • Als nächstes kann ausgewählt werden, welche Influxdb Version installiert werden soll. Hier wähle ich Version 2.
  • Telegraf installiere ich auch gleich mit.
  • Damit ist die Installation auch schon abgeschlossen.
  • Als nächstes überprüfen ob der Container korrekt erstellt wurde.

InfluxDB Configuration

  • Öffne einen Browser mit Link „http://<ip Adresse des Containers>:8086
  • Es öffnet sich die Browser-Oberfläche von Influxdb V2
  • Get Startet
  • Username: admin
  • Passwort: => passwort
  • Organisation Name: Home
  • Initial Bucket Name: iobroker
  • Kopiere den Operater API Token an einen sicheren Ort
  • Let’s get startet!

Damit ist die InfluxDB als LXC Container installiert und grundsätzlich konfiguriert.

Migriere Influxdb V1 Bucket nach Influxdb V2

Nun möchte ich bestehendes Bucket einer Influxdb V1.8 in die neue Influxdb V2 migrieren.

  • SSH Login auf Influxdb V1
  • Folgender Befehl schreibt das Bucket in ein Line Protokoll File (auszuführen als root user):
    influx_inspect export -database iobroker -datadir /mnt/files/influxdb/data -waldir /mnt/files/influxdb/wal -compress -out iobroker.line.gz
  • Das erstelle File „iobroker.line.gz“ auf die Zielmaschine kopieren
    scp iobroker.line.gz <user>@<ipadresse des LXC Containers>:
  • Jetzt mit ssh auf der Zielmaschine einloggen
  • das iobroker.line.gz entpacken
    gzip -d iobroker.line.gz
  • Bevor das entpackte File jetzt importiert werden kann, musste ich dieses noch manipulieren.
    vi iobroker.line
    Den gesamten Header löschen:
    #INFLUXDB EXPORT: 2023-01-01T01:59:59+01:00 - 2262-04-12T00:47:16+01:00
    #DDL
    CREATE DATABASE iobroker WITH NAME autogen
    #DML
    #CONTEXT-DATABASE:iobroker
    #CONTEXT-RETENTION-POLICY:autogen
    #writing tsm data
  • Jetzt das file iobroker.line importieren
    influx write -b iobroker --org Home --token <token> -f iobroker.line

Links: