NEWS
[gelöst] backitup und influxdbv2
-
Ich habe influx nicht im Einsatz, kann ich nix zu sagen.
Oft fehlt aber auch der user in einer entsprechenden Gruppe wie z. B.influx
oder so. -
@heinhan
Hast du wörtlich 'value' eingegeben, oder ein aktuelles token? Das ist z.B. das, was du in den influx Adapter eingetragen hast also sowas wiefCU_srcH7Y5Vepi7zQetQuowDNC-o-H0GXwg5UjWM0ZYvbBp7VTlQ-ekcbbR_5BtfY3-X0teSdAvkbxAs7iVaA==
-
@ostfrieseunterwegs Habe den aktuellen Token wie z.B. oben von Dir markiert.
Die Datenbank läuft, Instanz ist grün, halt nur kein Backitup möglich -
influx auth list -t fCU_srcH7Y5Vepi7zQetQuowDNC-o-H0GXwg5UjWM0ZYvbBp7VTlQ-ekcbbR_5BtfY3-X0teSdAvkbxAs7iVaA==
Natürlich mit deinem Token, also dem, welches Du in den influx-Adapter eingegeben hast ergibt also den o.g. Fehler.
Nur vorsichtshalber nochmal nachgefragt: influx läuft auf dem gleichen Rechner, auf dem Du den Befehl eingibst?Du könntest mal in die influx Oberfläche gehen, und dort ein neues all-access Token anlegen, und dann mit dem den Befehl ausführen.
-
@ostfrieseunterwegs Habe mal einen neuen Token wie oben beschreiben angelegt. influx auth list -t xxxxxxxxxxx geht ohne Fehlermeldung durch. Das Backitup klappt weiterhin nicht. Hier die LOG:
[DEBUG] [iobroker] - Backup created: /opt/iobroker/backups/iobroker_2023_03_09-19_05_16_backupiobroker.tar.gz [DEBUG] [iobroker] - done [DEBUG] [influxDB] - InfluxDB-Backup for influxdb.1 is started ... [DEBUG] [influxDB] - Start InfluxDB Backup ... [DEBUG] [influxDB] - InfluxDB Backup tmp directory created [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory [DEBUG] [influxDB] - InfluxDB tmp directory was successfully deleted [DEBUG] [influxDB] - [ERROR] [influxDB] - Error: Command failed: influx backup --bucket iobroker --host http://192.168.178.28:8086 -t Token gelöscht "/opt/iobroker/backups/influxDB_2023_03_09-19_06_04_influxdb.1_backupiobroker" 2023/03/09 19:06:04 INFO: Downloading metadata snapshot Error: failed to backup metadata: failed to download metadata snapshot: 401 Unauthorized: read:authorizations is unauthorized
Fehler bleibt auch nach einem Reboot. Influxdb2 läuft auf dem gleichen System
-
@heinhan
Gut, wenn auth list durchläuft, dann musst du das erste in der Liste ausgegebene Token in backitup eintragen. Dieses allererste Token wird bei der Erzeugung der Datenbank angelegt und hat irgendwelche extra-Privilegien.
Zum fixen Testen kannst du ja auch einfach dem Befehl aus dem Log auf der Shell ausführen. -
@ostfrieseunterwegs Kannst du bitte mal zu dem korrekten Anlegen eines Tokens für das Backup hier ein kurzes Tutorial schreiben?
Ich erstelle gerade ein Wiki für Lösungen und Anleitungen in Backitup und würde das gerne mit übernehmen.
Die Fragen zu dem Token häufen sich in letzter Zeit hier. -
@simatec
Kurze Anmerkung. Die Begrifflichkeit "Token anlegen" hat bei mir auch zu dieser Verwirrung geführt. Anlegen wird niemals funktionieren wenn man darunter das Access Handling in der Oberfläche versteht.Es funktioniert alleine der Token, der beim Erstellen der Datenbank generiert wird und nicht über die Oberfläche ersichtlich ist. Dieser ist sichtbar zu machen und zu nutzen. So mein Fazit.
By the way, vielen Dank für das Wiki und gute Sache. Wer diesen Sachverhalt so aus der influxdb doku rausliest hat schon einen Preis verdient
-
@dieter_p
Stimmt. Die Originaldoku ist da nicht besonders hilfreich. Übel wird's auch, wenn man sich im GUI ein neues Token angelegt hat und dann das allererste Token mit der GUI rausgelöscht hat. -
@ostfrieseunterwegs so jetzt läuft alles. In der ~/.influxdbv2/configs war noch ein Token der nicht in der auth list angezeigt wurde. Habe einen neuen Operator-Token erstellt nach der Seite: https://www.rajchert.net/?p=1026. Danke für den Tipp.
-
@heinhan Ha! Dann wissen wir auch, dass die Beschreibung von RNET funktioniert. Danke
-
Hi
wie man erfolgreich eine Sicherung mittels backitup erstellt hab ich grob geschnallt, aber wie funktioniert der Ablauf eines Restores auf einem komplett frischen System. Die alten API Tokens bekomme ich ja nicht mehr in die Neu installierte influxdB rein. Lege ich neue an und spiele dann mittels Backitup ein Restore zurück werden die alten API Tokens wieder im Adapter eingestragen und die Daten kann nicht wieder befüllt werden.
Wie ist der Ablauf eines Restore auf einem neuen System?
- InfluxDB2 installieren
- bucket und API Token anlegen
- Restore mittels Backitup starten, aber dann gibt es Access Fehler wegen der alten API Tokens?
Danke Euch, vorab!
-
@dieter_p Wenn du Influx neu aufgesetzt hast, muss du natürlich auch in Backitup den Token anpassen.
-
@simatec said in [gelöst] backitup und influxdbv2:
@dieter_p Wenn du Influx neu aufgesetzt hast, muss du natürlich auch in Backitup den Token anpassen.
Ja, aber wo überall? In der Instanz den Operator Token oder nur den Admin Token in BackitUp (Da der Operator Token zB durch das Restore wiederhergestellt wird)?
Oder sind alle Token durch die neue InfluxDB veraltet und sind anzupassen? Dann die Frage wie ich ein vollständiges Restore durchführen kann?
IOBroker Restore stellt die alten Token-Einträge wieder her und das Restore der InfluxDB schlägt dann natürlich fehl.
Sind also dann manuell zu aktualisieren und das InfluxDB Restore nochmal manuell anzustoßen per Backitup?Finde es immer schwierig zu erahnen und würde gerne wissen wo genau ich Hand anlegen muß (zB Tokens aktualisieren) und wo übernimmt BackitUp die Arbeit für mich. Hier "rumzufummeln" erzeugt meistens mehr Chaos und jemand wird sich ja was dabei gedacht haben wie es zu funktionieren hat.
Aktuell dann solche Effekte:
Started restore ... [DEBUG] [influxDB] - Created tmp directory [DEBUG] [influxDB] - Start infuxDB Restore ... [DEBUG] [influxDB] - influxdb.0 is stopped [ERROR] [influxDB] - 2023/04/08 10:12:45 INFO: Restoring bucket "2ae8ca9de5e90d90" as "iobroker" Error: failed to restore bucket "iobroker": 422 Unprocessable Entity: bucket with name iobroker already exists [DEBUG] [influxDB] - Try deleting the InfluxDB tmp directory [DEBUG] [influxDB] - InfluxDB tmp directory was successfully deleted [DEBUG] [influxDB] - infuxDB Restore completed successfully [EXIT] influxDB restore done [DEBUG] [influxDB] - influxdb.0 started
obwohl
Nehme also an ich darf die DB/Bucket nicht manuell leer erstellen, wenn ich ein Restore durchführen möchte.
-
Also dann wieder per Try&Error für alle die auch danach suchen:
Restore einer InfluxDB2 auf ein frisches System:
Die API Tokens (Operator/All-Access/Admin) werden nicht wieder hergestellt bzw. sind nicht mehr nutzbar.
Somit für ein Restore ist influxdB2 manuell neu zu installieren und alle benötigten Tokens anzulegen und in IObroker manuell in der InfluxDB Instanz (Operator/All-Access Token) und BackItUp Instanz (Admin Token) zu aktualisieren.
Wichtig ist dann die Datenbank/Bucket (gleicher Bucket-Name) nicht manuell in influxdB wieder zu erstellen, sondern dies passiert dann durch das influxdB-Restore durch BackitUp.
Die Option "Alte DB bei Restore löschen" scheint bei v2 nicht zu funktionieren in BackitUp.So mein Fazit.
-
@dieter_p sagte in [gelöst] backitup und influxdbv2:
Also dann wieder per Try&Error
So mein Fazit.Ja, das Backup-Konzept für InfluxDB muss man sich genauer anschauen und am besten auch mal durchtesten. Das "Problem", was du hast, ist dass Backitup jeweils einzelne Buckets sichert und auch wiederherstellt. Das ist gut, wenn mal Daten versehentlich gelöscht wurden und wieder hergestellt werden sollen. Sobald man aber mit mehreren Buckets arbeitet, so erhöht sich der Aufwand beim "Desaster Recovery", wenn man bei Null anfängt. Das hast du ja gemerkt.
Deshalb sollte man in Erwägung ziehen, die InfluxDB insgesamt (zusätzlich) per Kommandozeile/Cron zu sichern. Dann hat man die Möglichkeit, mit dem Flag "--full" ALLE Daten (inkl. aller User/Token!) in einem Rutsch wiederherzustellen.
Das ist aber für den "Otto-Normal-User" zugegebenermaßen nicht so leicht. -
@dieter_p
Am Ende ist es doch logisch, dass du bei einem neu aufgesetzten InfluxDB System auch einen neuen Token hast und dieser dann natürlich auch in Backitup angepasst werden muss.Backitup kann sich den ja nicht irgendwie holen, dass ist deine Konfiguration.
Gerne kannst du dich am Wiki beteiligen.
Mein Aufruf dazu hatte bisher nicht viel Resonanz und dementsprechend kannst du gerne deinen Beitrag dazu leistenhttps://forum.iobroker.net/topic/63694/aufruf-zur-unterstützung-für-backitup-wiki/32
-
@simatec hier nochmal der Link dahin
https://forum.iobroker.net/topic/63694/aufruf-zur-unterstützung-für-backitup-wiki?_=1680895401094EDIT:
du hast ja editiert -
@simatec said in [gelöst] backitup und influxdbv2:
@dieter_p
Am Ende ist es doch logisch ...Da kann man drüber streiten und im Fall von wiederum für mich subjektiv empfundenen absoluten Standardprozeduren wäre es einfach nett, gesichert per Doku an einem System arbeiten zu können. Was so manche Humänitäre Wesen als Logisch empfinden überrascht nicht selten.
@simatec said in [gelöst] backitup und influxdbv2:
@dieter_p
Gerne kannst du dich am Wiki beteiligen.
Mein Aufruf dazu hatte bisher nicht viel Resonanz und dementsprechend kannst du gerne deinen Beitrag dazu leistenhttps://forum.iobroker.net/topic/63694/aufruf-zur-unterstützung-für-backitup-wiki/32
Kein Thema, folgt im Laufe dieses Wochenendes und sehr gerne. Schreibe dabei auch gerne einen Halbsatz mehr, da für mich eine Doku auch gerne etwas erläuternden Charakter haben darf um weniger Missverständnisse bzw. Raum für logische, eigenständige Interpretationen zu lassen. Damit kommt nicht jeder klar, aber dafür ist es ja ein editierbares Wiki und keine "gedruckte Bibel"
-
Hallo zusammen, hoffe ich bin hier richtig.
Mein Problem ist folgendes: Ich möchte aus einer alten Sicherung (Stand Juni23) das alte Bucket wiederherstellen. Damals hieß mein Bucket "iobold", in meiner aktuellen Installation "iobroker-data". Nun dachte ich ganz naiv, dass das Backitup-Restore aus der alten Sicherung ein das alte Bucket parallel zu dem neuen wieder herstellt und ich per Grafana auf die alten Daten zugreifen kann.
Dem ist aber nicht so. Ich sehe, wenn ich mich in influxdb (InfluxDB v2.7.1) direkt einlogge nur die aktuellen buckets. Was mache ich falsch?
Danke im Voraus!