Problem bei der Wiederherstellung von Gladys

Hallo,

aufgrund eines Problems zwischen MQTT und Z2M habe ich aus Bequemlichkeit eine Wiederherstellung gestartet, und die dauert immer noch (mehr als 9 Stunden auf einem Beelink). Ist das normal (ich vermute mal nein :wink:)

Vielen Dank im Voraus für eine Lösung

Die Wiederherstellung ist in der Regel sehr schnell :slight_smile:

Am Ende der Wiederherstellung sollte Gladys normalerweise neu starten, also schaltet sie sich aus und Docker sollte sie neu starten (wenn du in deiner Konfiguration auf restart=always bist).

Möglicherweise ist dieser Vorgang nicht korrekt erfolgt, du kannst einen ausführen:

docker restart gladys

Ansonsten schau dir die Logs von Gladys an, um mehr Informationen zu erhalten!

Ich schau mir das an, sobald ich zu Hause bin.
Danke für deine schnelle Antwort @pierre-gilles :smiley:

Ich habe ein docker restart gladys durchgeführt und meine Konfiguration erfolgreich wiederhergestellt.
Ich habe ein docker inspect gladys durchgeführt und alles scheint in Ordnung zu sein:

Allerdings wurden die Daten aller meiner Diagramme nicht wiederhergestellt :disappointed_relieved: (fehlende Metriken vor dem Neustart von Gladys).

Muss ich eine neue Wiederherstellung durchführen oder vorher Kontrollen durchführen?

Und bei den Logs habe ich eine Wiederholung von Error while connecting to MQTT - Error: Connection refused: Not authorized

Vielen Dank im Voraus für alle Hilfe :slightly_smiling_face:

Wann datiert die Sicherung, die du wiederhergestellt hast?

Wenn du eine Sicherung wiederhergestellt hast, die vor DuckDB erstellt wurde (Gladys Assistant 4.45 : DuckDB, une révolution dans Gladys ! ⚡), dann muss deine Instanz die Migration zu DuckDB lokal neu durchführen, und anschließend kannst du die historischen Daten wiederherstellen.

Andernfalls kannst du die Protokolle der Wiederherstellung überprüfen und sehen, ob alles reibungslos verlaufen ist (gehe in deine Gladys-Protokolle zurück, du solltest sie haben)

Eine weitere Möglichkeit: Führe eine erneute Wiederherstellung durch und beobachte live die Protokolle, um sicherzustellen, dass alles reibungslos verläuft :slight_smile: Vielleicht gibt es einen besonderen Fall in deinen historischen Daten, der die Wiederherstellung dieser verhindert.

Verwendest du die MQTT-Integration über den Docker-Container, der von Gladys gestartet wurde, oder den du manuell gestartet hast?

Es ist möglich, dass du die Integration neu starten musst. Normalerweise sollte sie nach einer Wiederherstellung von selbst wieder hochfahren (den Container neu starten, wenn du den von Gladys gestarteten Container verwendest), aber vielleicht hat das in deinem Fall nicht funktioniert.

Nach allem, was du erlebst, ist es möglich, dass die Wiederherstellung in deinem Fall fehlgeschlagen ist. Die Protokolle werden uns mehr darüber verraten, was passiert ist :slight_smile:

Zu der Frage

Du hast ein Backup wiederhergestellt, das von welchem Datum ist?
Es war das Backup vom 21/10/2024 (migrierte Daten)

Ich habe einige Wiederherstellungstests der Datenbank vom 21/10, vom 19/10 und diejenige von kurz vor diesen Tests durchgeführt. Hier sind die Logs:

Zu der Frage

Verwendest du die MQTT-Integration über den Docker-Container, der von Gladys gestartet wurde oder den du manuell gestartet hast?

Ja, ich verwende die MQTT-Integration über den Docker-Container, der von Gladys gestartet wurde.

Laut den Logs scheint es ein Problem bei der Wiederherstellung der migrierten Datenbank zu geben. Ist es möglich, die verlorenen Daten manuell wiederherzustellen? :thinking:

Vielen Dank für dein Feedback, ich habe nachgeforscht und es handelt sich um einen Bug von DuckDB, ich habe ein GitHub-Issue gefunden, das dieses Problem behandelt und anscheinend wurde es in Version 1.1 von DuckDB behoben:

Der Fix:

Ich arbeite morgen an Gladys, ich werde schauen, ob ich DuckDB aktualisieren kann und das wird in der nächsten Version veröffentlicht!

Mit diesem Fix solltest du normalerweise ohne Probleme wiederherstellen können.

Das ist durchaus möglich, aber es erfordert etwas Geschick :smiley:

Wenn du in den Ordner /var/lib/gladysassistant/backups/restore gehst, solltest du einen Ordner « _parquet_folder » finden, der die Sensordaten im Parquet-Format enthält.

Wenn du diesen Ordner irgendwo speicherst (z. B. auf deinem privaten Computer) und DuckDB installierst, kannst du diese Parquet-Dateien in eine .duckdb-Datei importieren:

Anschließend musst du diese Datei in den Ordner /var/lib/gladysassistant mit dem Namen gladys-production.duckdb importieren (vergiss nicht auch die WAL-Datei).

Aber wenn du ein bisschen Geduld hast, werde ich DuckDB aktualisieren und normalerweise wird das dein Problem in der nächsten Version von Gladys beheben :slight_smile:

Hallo,
Ich habe das gleiche Problem mit der Wiederherstellung von gladysplus und möchte nicht alle Systemverläufe löschen. Eigentlich sollten alle Szenen nach dem nächsten Release verfügbar sein.
Die Frage ist: Wann wird es veröffentlicht?

Hallo ihr beiden @Tolkyen und @Jluc!

Ich habe heute Morgen an diesem Thema gearbeitet.

Trotz meiner Bemühungen konnte ich den Fehler nicht reproduzieren. Ich habe auf verschiedenen Servertypen getestet, und bei mir funktionierte die Wiederherstellung immer.

Dennoch habe ich DuckDB in der letzten Version von Gladys auf 1.1.1 aktualisiert, in der Hoffnung, dass dies das Problem bei euch behebt:

Falls ihr Gladys erneut wiederherstellt, wäre es ratsam, von einer „gesunden“ Basis auszugehen. Ich würde euch empfehlen:

docker stop gladys && docker rm gladys

Alle Gladys-Dateien löschen, indem ihr folgendes ausführt:

sudo rm -rf /var/lib/gladysassistant

(Achtung, diesen Befehl nur in einer Umgebung ausführen, die ihr wirklich zerstören wollt. Dieser Befehl löscht alles.)

Die neueste Version von Gladys herunterladen:

docker pull gladysassistant/gladys:v4

Dann Gladys mit dem Befehl von der Website neu starten:

Haltet mich auf dem Laufenden, ich hoffe, dass es mit diesem Update für euch funktioniert :crossed_fingers:

Hallo,
Zuerst einmal ein großes Dankeschön an dich, @pierre-gilles, für die schnelle Bearbeitung des Problems, das wir mit @Tolkyen haben, aber auch für all die Ratschläge, die mir geholfen haben, bei der Installation von Gladys auf meinem neuen Mini-PC voranzukommen.
Vielleicht habe ich etwas vergessen oder eine falsche Manipulation vorgenommen, aber nach der Ausführung des folgenden Befehls werden diese Zeilen angezeigt:

sudo docker run -d

Ja, du hast den ersten Befehl nicht richtig ausgeführt (docker stop / rm), man sieht den Fehler, du musst ein „sudo“ vor den Befehl setzen

Ich hatte es mit sudo neu gestartet


Und jetzt wird das angezeigt:

Zerlege die beiden Befehle:

sudo docker stop gladys
sudo docker rm gladys

das sollte funktionieren

Wenn man die Befehle aufteilt, erhält man:


Ich habe das Gefühl, dass nichts passiert

Ja, das ist perfekt, es hat funktioniert

Jetzt kannst du Gladys mit dem docker run vom Website neu starten

Wiederherstellung gestartet und läuft seit 10 Minuten, wie lange wird es noch dauern?

Normalerweise ist das recht schnell! Das hängt von der Geschwindigkeit deiner Internetverbindung ab

Du kannst die Wiederherstellung mit folgendem Befehl verfolgen:

docker logs gladys

Ich glaube, das wird nicht weitergehen

Die Logs, die du zeigst, sind völlig normal, ich sehe kein Problem :slight_smile:

Schau dir lieber das Ende der Logs an, nicht den Anfang


Hier habe ich das Gefühl