NEWS
Influxdb Docker
-
Hi Leute,
kurze Frage zu influxdb.
Ich habe die influxdb in einem Docker Container am laufen (Port 8086). Iobroker läuft am selben system ohne Docker.
Damit der backitup Adapter ein Backup von influxdb machen kann, muss ja am System selbst influxd installiert sein. Das habe ich auch so gemacht und in der config davon als bind adress 8086 angegeben.Das Backup klappte damit.
Wenn nun aber das System neu gestartet wird, dann schreit Docker, dass der Port 8086 belegt ist. Nach dem nachschauen war klar, dass es natürlich influxd am System ist. Wenn ich den Service influxd stoppe und dann den Docker Container starte, dann startet dieser ganz normal hoch.
Wie habt ihr das gemacht? Oder muss im System gar kein bind-adress angegeben werden, sondern wird vom influxdb adapter bzw. backitup adapter die Verbindung hergestellt?
-
Hi Daniel,
bei mir laufen iobroker und influxdb ebenfalls in Docker Containern.
Dabei habe ich dem influxdb Container einfach eine eigene IP-Adresse gegeben, so gibt es keine Probleme mit Ports, die sich gegenseitig blockieren. Backups mache ich aus dem Docker heraus, d.h. ich erstelle regelmäßig Kopien der Container inkl. Volumes - bei Bedarf kann ich die influxdb so ohne Probleme wiederherstellen. Backitup habe ich in dieser Konfiguration nicht im Einsatz, dort müsste sich aber auch eine remote influxdb Installation auswählen lassen.Gruß,
Percy
-
@percy Welches Verfahren bzw. welche SW benutzt Du für die Docker Container Backups?
Nachdem mein Setup nun fehlerfrei funktioniert ist das der nächste Punkt auf der ToDo Liste: Backup/Restore.
Im Netz findet man dazu viel Info. Mir ist noch nicht klar, welche davon einfach und sicher ist.
backup-docker, duplicate, ...
Idealerweise suche ich etwas, das selber im Docker läuft (ist aber nicht zwingend), automatisch 1x pro Tag ein
Backup erzeugt und dieses zu Google Drive oder Microsoft OneDrive hochlädt. -
Backups sind so ein Thema - du wirst hier im Forum vermutlich verschiedene Ansätze finden, alle haben verschiedene Vor- und Nachteile, letztlich hängt es auch von deinem System ab.
Auf welchem System laufen deine Docker-Container? Bei mir laufen sie auf einer Synology. Das Betriebssystem DSM bietet einen Dienst namens Hyper-Backup, über den ich automatisiert die Volumes sichere. Zusätzlich erstelle ich manuell ein vollständiges Docker-Backup (Image + Konfiguration + Volume-Daten), bevor ich größere Änderungen an einem Container vornehme. Dafür bietet die Docker Verwaltung von Synology eine eigene Funktion zum Export von Containern. Falls du ein anderes System nutzt, müsste sich ähnliches aber auch z.B. über Portainer realisieren lassen. Über Portainer dupliziere ich manche Container z.B. vor größeren Updates. Sollte etwas schief gehen, fahre ich einfach den alten Container wieder hoch (hier muss man je nach Container ggf. auf Abhängigkeiten zu den Volumes aufpassen)
Für eine InfluxDB reicht es normalerweise, ein initiales Backup des Containers vorzuhalten und dann nur das Volume regelmäßig wegzuschreiben, welches die eigentlichen Serien und Messungen der Datenbank enthält.
Falls du dich nicht so intensiv mit den Docker Containern auseinander setzen möchtest, ist ein Backitup-Backup vermutlich die einfachste Variante. Ich habe den vollständigen Docker-Klon immer bevorzugt, falsch ist sicherlich beides nicht.
-
@percy Vielen Dank!
Das war auch mein Eindruck, es gibt nicht die eine Lösung die für alles passt.
Mein iobroker läuft im Docker auf einem Raspi 4. Im Docker laufen dann in eigenen Containern Portainer, influx, Grafana, und AdguardHome.
Ich möchte es so einfach wie möglich haben. Lieber alles in einem Rutsch und zu viel sichern, dafür aber wenig Aufwand. Und damit auch einfaches zurückspielen. Habe 1 TB Cloud bei OneDrive, da reicht allemal. Zusätzlich werde ich in regelmässigen abständen meine SSD Klonen, dann kann ich zumindest super einfach auf einen Zustand zurück. -
Hallo,
ich bin relativ neu und versuche auch gerade Statistiken und Analysen in Unraid zu erstellen. Dabei verzweifele ich schon seit Stunden (Tage) den Influxdb-Adapter zum Laufen zu bekommen.
Das Problem ist eventuell das Zusammenspiel von Host und Port. …und mein Verständniss
Der Iobroker läuft bei mir als Docker-Container mit privilegierten Rechten als Bridge. Den Port 8086 habe ich in den Docker-Einstellungen auch zugewiesen. Ich habe nach einigen Suchen, diverse Sachen versucht, z.B. habe ich den Server von „localhost“ (Fehlermeldung bei Verbinden - Error: connect ECONNREFUSED 127.0.0.1:8086) auf den Hostnamen des iobrokers (Fehlermeldung bei Verbinden - Error: connect ECONNREFUSED 172.17.0.2:8086) umgestellt.
Kann mir jemand sagen welche grundlegenden Einstellungen getroffen werden müssen und welche Hostzuweisung nötig ist? …Oder muss Influxdb etwa als sebarater Docker auf dem Hauptsystem (Unraid) installiert weden ???
Kann man die Infux-Datenbank eigentlich auch auslagern, zwecks Datensicherung?
Dann hätte ich noch eine grundlegende Frage zum iobroker. Der vom System generierte Hostname ist sehr unverständlich (eine 12-stellige Zahlen und Buchstabenkette). Kann man diese ohne Bedenken anpassen oder umbenennen, ohne dass das ganze System nochmal bearbeitet werden muss?Ich stehe noch am Anfang aber danke für eure Hilfe
-
@andy007 Bei mir sieht es so aus:
iobroker als Container. Port 8081-8084 freigegeben.
influxdb als eigener Container. Keine Port freigaben. Aber Netzwerktyp Host und
Hostname der hostname des Raspberry.
Habe influxdb version 1.8.4.Bin ansonsten dieser Anleitung gefolgt: Link
Eine weiter ENV Variable "PATH" mit "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Weiß nicht, od das nötig ist.Dann in iobroker die influxdb Instanz parameter setzen (u.a. PW).
Port ist bei mir 8086 und http (ohne s). -
@simplyclever ...danke für deine Hinweise. Ich werde jetzt einen Infux Docker auf Unraid erstellen und weiter testen. Ich würde das Ganze auch so einfach wie möglich, aber auch sicher und sinnvoll gestalten wollen. Desshalb bin ich über jeden Tip dankbar.
-
@andy007 Wie sehen deine Container-Einstellungen aus? Bei mir sieht es so aus:
Bei mir läuft die influxDB unter eigener IP. Im ioBroker Adapter musste ich dann nur noch das eintragen: