Datenlöschung Wartung.php vs. Influxdb
Moderator: Ulrich
-
- Beiträge: 3
- Registriert: Do 18. Aug 2022, 12:58
Datenlöschung Wartung.php vs. Influxdb
Hallo zusammen,
ich monitore seit Januar 2023 den PV Ertrag (und diverse andere Ereignisse) mittels Solaranzeige.
Ziemlich erstaunt war ich Ende Januar 2024, als die historischen Daten von Januar 2023 wochenweise verschwanden. In der Wartung.php war der relevante Eintrag für die Speicherdauer korrekt auf 4 Jahre eingetragen. Um es kurz zu machen: egal was ich eintrage (also auch „0“ für keine Löschung), die Daten gehen „Woche für Woche von Bord“. In der Wartung.log waren Einträge wie „...Daten älter als dem 2019-01-15 wurden gelöscht“ oder „... Daten älter als dem 1999-07-14 wurden gelöscht“; tatsächlich jedoch alle Daten mit dem Verfallsdatum von 1 Jahr. Die Wartung,php habe ich nun umbenannt, damit kein Zugriff mehr darauf erfolgen kann: Ergebnis: die Daten werden weiter gelöscht obwohl in der Wartung.log jetzt richtigerweise keine Löschungen mehr ausgewiesen werden. Meine Vermutung, dass es mit der Influxdb direkt zusammenhängt wurde bestätigt, da die vorgegebene Retention Policy (autogen) auf 1 Jahr eingestellt war. Eine versuchsweise Änderung per Influx-CLI-Tool auf 4 Jahre oder auch auf "unendlich" ist mir gelungen; allerdings mit dem Ergebnis, dass nach der Änderung der Policy die Daten (in Grafana) nicht mehr verfügbar sind. Setze ich die Retention-Policy wieder auf die „autogen“ Einstellung mit 1 Jahr, sind die Daten wieder da. Auch mit geänderter Retentiondauer die historischen Daten aus dem Backup einzuspielen funktioniert nicht, da die ursprünglichen Retentioneinstellungen (1 Jahr) mit dem Backup wieder reaktiviert werden. Die Influxdb.conf ist im Originalzustand, also ohne Einträge im Abschnitt Retention...
Jetzt stehe ich auf dem Schlauch, was übersehe ich? Glücklicherweise habe ich Backups der Datenbank, so dass ich mit den historischen Daten und Retention-Einstellungen experimentieren kann, wenn auch bislang ohne Erfolg. Im Forum habe ich keine Beiträge gefunden, die ein ähnliches Problem ausweisen. Gibt es einen Trick die Datenbank auf eine andere Speicherdauer (z. B. 4 Jahre) einzustellen ohne auf die historischen Daten verzichten zu müssen? Bisher habe ich bewusst auf Updates der Solaranzeigen-Software verzichtet (...never touch a running system), will also nicht ausschließen, dass dieses Thema in neueren Versionen nicht (mehr) existiert. Wer weiß Rat?
Danke bis hierin
Thomas
System:
Hardware: Raspi 4 B 4 GB, SSD 256 GB, Huawei WR 6KTL M1 per Dongle (Regler Nr. 62)
Solaranzeige Version 5.10.103-v7l, keine Multiregler, kein Überschussladen
ich monitore seit Januar 2023 den PV Ertrag (und diverse andere Ereignisse) mittels Solaranzeige.
Ziemlich erstaunt war ich Ende Januar 2024, als die historischen Daten von Januar 2023 wochenweise verschwanden. In der Wartung.php war der relevante Eintrag für die Speicherdauer korrekt auf 4 Jahre eingetragen. Um es kurz zu machen: egal was ich eintrage (also auch „0“ für keine Löschung), die Daten gehen „Woche für Woche von Bord“. In der Wartung.log waren Einträge wie „...Daten älter als dem 2019-01-15 wurden gelöscht“ oder „... Daten älter als dem 1999-07-14 wurden gelöscht“; tatsächlich jedoch alle Daten mit dem Verfallsdatum von 1 Jahr. Die Wartung,php habe ich nun umbenannt, damit kein Zugriff mehr darauf erfolgen kann: Ergebnis: die Daten werden weiter gelöscht obwohl in der Wartung.log jetzt richtigerweise keine Löschungen mehr ausgewiesen werden. Meine Vermutung, dass es mit der Influxdb direkt zusammenhängt wurde bestätigt, da die vorgegebene Retention Policy (autogen) auf 1 Jahr eingestellt war. Eine versuchsweise Änderung per Influx-CLI-Tool auf 4 Jahre oder auch auf "unendlich" ist mir gelungen; allerdings mit dem Ergebnis, dass nach der Änderung der Policy die Daten (in Grafana) nicht mehr verfügbar sind. Setze ich die Retention-Policy wieder auf die „autogen“ Einstellung mit 1 Jahr, sind die Daten wieder da. Auch mit geänderter Retentiondauer die historischen Daten aus dem Backup einzuspielen funktioniert nicht, da die ursprünglichen Retentioneinstellungen (1 Jahr) mit dem Backup wieder reaktiviert werden. Die Influxdb.conf ist im Originalzustand, also ohne Einträge im Abschnitt Retention...
Jetzt stehe ich auf dem Schlauch, was übersehe ich? Glücklicherweise habe ich Backups der Datenbank, so dass ich mit den historischen Daten und Retention-Einstellungen experimentieren kann, wenn auch bislang ohne Erfolg. Im Forum habe ich keine Beiträge gefunden, die ein ähnliches Problem ausweisen. Gibt es einen Trick die Datenbank auf eine andere Speicherdauer (z. B. 4 Jahre) einzustellen ohne auf die historischen Daten verzichten zu müssen? Bisher habe ich bewusst auf Updates der Solaranzeigen-Software verzichtet (...never touch a running system), will also nicht ausschließen, dass dieses Thema in neueren Versionen nicht (mehr) existiert. Wer weiß Rat?
Danke bis hierin
Thomas
System:
Hardware: Raspi 4 B 4 GB, SSD 256 GB, Huawei WR 6KTL M1 per Dongle (Regler Nr. 62)
Solaranzeige Version 5.10.103-v7l, keine Multiregler, kein Überschussladen
- Ulrich
- Administrator
- Beiträge: 6200
- Registriert: Sa 7. Nov 2015, 10:33
- Wohnort: Essen
- Hat sich bedankt: 131 Mal
- Danksagung erhalten: 849 Mal
Re: Datenlöschung Wartung.php vs. Influxdb
Hallo Thomas,
als ich den Wartungsscript eingeführt habe, gab es, soviel ich weiß, noch gar nicht die automatische Löschung der Daten durch die InfluxDB. Die Datenbank hat sich so schnell weiter entwickelt, dass man kaum die neuen Features alle kennen lernen konnte. Du hast recht, da müsste man sich erst einmal mit vertraut machen. Soviel mir bekannt ist, muss man die Speicherlänge schon bei der Erstellung der Datenbank ändern. Es kann sein, dass man die danach nicht mehr ändern kann. Genau weiß ich das aber nicht.
als ich den Wartungsscript eingeführt habe, gab es, soviel ich weiß, noch gar nicht die automatische Löschung der Daten durch die InfluxDB. Die Datenbank hat sich so schnell weiter entwickelt, dass man kaum die neuen Features alle kennen lernen konnte. Du hast recht, da müsste man sich erst einmal mit vertraut machen. Soviel mir bekannt ist, muss man die Speicherlänge schon bei der Erstellung der Datenbank ändern. Es kann sein, dass man die danach nicht mehr ändern kann. Genau weiß ich das aber nicht.
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]
Ulrich . . . . . . . . [ Admin ]
-
- Beiträge: 53
- Registriert: Do 10. Feb 2022, 10:44
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 12 Mal
Re: Datenlöschung Wartung.php vs. Influxdb
Hi,
hast schon mal direkt deine DB gecheckt, wie lange die retention policy eingestellt ist?
mit "influx" kommst du in die DB direkt am Raspi über die Shell.
Dann "use solaranzeige" und im Anschluss "show retention policies"
Das Ergebnis sollte so aussehen.
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
Hinweis: Bevor du die unteren Befehle verwendest, sichere dir deine DB weg!!!!
Mit z.B. ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 208w
stellst du 4 Jahre ein für die Datenbank "solaranzeige".
und mit ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 0s
sollten die Daten ewig behalten werden. Dann ist der Output wie oben.
LG,
Michael
hast schon mal direkt deine DB gecheckt, wie lange die retention policy eingestellt ist?
mit "influx" kommst du in die DB direkt am Raspi über die Shell.
Dann "use solaranzeige" und im Anschluss "show retention policies"
Das Ergebnis sollte so aussehen.
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
Hinweis: Bevor du die unteren Befehle verwendest, sichere dir deine DB weg!!!!
Mit z.B. ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 208w
stellst du 4 Jahre ein für die Datenbank "solaranzeige".
und mit ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 0s
sollten die Daten ewig behalten werden. Dann ist der Output wie oben.
LG,
Michael
Kostal Plenticore Gen1 8,5kW, KSEM Gen2, Solarfabrik Mono S3 Module 375W, installierte Leistung 7,5kWp, BYD HVS 7,68kWh
-
- Beiträge: 3
- Registriert: Do 18. Aug 2022, 12:58
Re: Datenlöschung Wartung.php vs. Influxdb
@Ulrich: Danke für Deine Einschätzung. Ich denke genauso wird es sein.
@schlmich: Danke dir für den Versuch...
Das ganze Procedere hab' ich wie von dir beschrieben durchprobiert. Da ich von Influx keine Ahnung habe, bin ich strikt nach Anleitung (aus dem WWW) vorgegangen und habe per Putty über die Shell (CLI Influx) die relevanten Retention Policy- Befehle (create..., alter,..) mit "2 Jahren", "4 Jahren" und "0s =unendlich" losgeschickt. Der Effekt ist immer der gleiche: Nach jeder Änderung sind die Daten nicht mehr verfügbar (aber eben nicht gelöscht!); die Influx beginnt auch sofort mit der Aufzeichnung neuer Daten. Setze ich auf die Retention-Defaultwerte zurück (bei mir 1 Jahr) kann ich wieder auf die historischen Werte zugreifen.
Was ich noch nicht probiert habe ist, die Retention Policy Werte in der influxdb.conf einzutragen, damit die Datenbank direkt beim Aufruf mit geänderter Steicherdauer gestartet wird. Ich kenne aber die Syntax nicht.
Gruß
Thomas
@schlmich: Danke dir für den Versuch...
Das ganze Procedere hab' ich wie von dir beschrieben durchprobiert. Da ich von Influx keine Ahnung habe, bin ich strikt nach Anleitung (aus dem WWW) vorgegangen und habe per Putty über die Shell (CLI Influx) die relevanten Retention Policy- Befehle (create..., alter,..) mit "2 Jahren", "4 Jahren" und "0s =unendlich" losgeschickt. Der Effekt ist immer der gleiche: Nach jeder Änderung sind die Daten nicht mehr verfügbar (aber eben nicht gelöscht!); die Influx beginnt auch sofort mit der Aufzeichnung neuer Daten. Setze ich auf die Retention-Defaultwerte zurück (bei mir 1 Jahr) kann ich wieder auf die historischen Werte zugreifen.
Was ich noch nicht probiert habe ist, die Retention Policy Werte in der influxdb.conf einzutragen, damit die Datenbank direkt beim Aufruf mit geänderter Steicherdauer gestartet wird. Ich kenne aber die Syntax nicht.
Gruß
Thomas
-
- Beiträge: 53
- Registriert: Do 10. Feb 2022, 10:44
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 12 Mal
Re: Datenlöschung Wartung.php vs. Influxdb
Hi,
welche Version von Influxdb hast den installiert?
Mit dem "ALTER......." ändert man die Retention policy. Wenn du vorher eine neue angelegt hast o.ä. dann wird des nicht funktionieren.
Ich habe bei mir die Influx 1.8.10 installiert. Bei der Version funktioniert es bei mir, wenn ich die Retention Policy AUTOGEN mit ALTER ändere.
Zugriff auf die Daten hast du, wenn du exakt darauf zugreifst, also mittels "Datenbank.retentionpolicy.Measurement"
z.B.: mit [ SELECT * FROM solaranzeige.autogen.AC ORDER BY TIME DESC LIMIT 2 ]
LG,
Michael
welche Version von Influxdb hast den installiert?
Mit dem "ALTER......." ändert man die Retention policy. Wenn du vorher eine neue angelegt hast o.ä. dann wird des nicht funktionieren.
Ich habe bei mir die Influx 1.8.10 installiert. Bei der Version funktioniert es bei mir, wenn ich die Retention Policy AUTOGEN mit ALTER ändere.
Zugriff auf die Daten hast du, wenn du exakt darauf zugreifst, also mittels "Datenbank.retentionpolicy.Measurement"
z.B.: mit [ SELECT * FROM solaranzeige.autogen.AC ORDER BY TIME DESC LIMIT 2 ]
LG,
Michael
Kostal Plenticore Gen1 8,5kW, KSEM Gen2, Solarfabrik Mono S3 Module 375W, installierte Leistung 7,5kWp, BYD HVS 7,68kWh
-
- Beiträge: 3
- Registriert: Do 18. Aug 2022, 12:58
Re: Datenlöschung Wartung.php vs. Influxdb
@ schlmich
Hallo,
habe auch die Influx 1.8.10. Bisher war ich zu schissig, die "autogen" zu ändern, also immer mit CREATE eine neue Retention erstellt. Mit deinem Hinweis habe ich die vorhandene "autogen" auf 0s (unendlich) geändert, die SHARD DURATION jedoch beibehalten:
ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 0s SHARD DURATION 168h0m0s DEFAULT
Ergebnis: Die historischen Daten sind noch da!!!!
DAS war der Trick. Besten Dank.
Werde in den nächsten Wochen ein Auge auf mögliche Datenabgänge werfen; bin aber zuversichtlich, dass sich die Datenlöschung nun -wie geplant- über die Wartung.php steuern lässt.
@Ulrich
Vlt. ist das Thema ein Hinweis in der Wartung.pdf wert.
LG
Thomas
Hallo,
habe auch die Influx 1.8.10. Bisher war ich zu schissig, die "autogen" zu ändern, also immer mit CREATE eine neue Retention erstellt. Mit deinem Hinweis habe ich die vorhandene "autogen" auf 0s (unendlich) geändert, die SHARD DURATION jedoch beibehalten:
ALTER RETENTION POLICY "autogen" ON "solaranzeige" DURATION 0s SHARD DURATION 168h0m0s DEFAULT
Ergebnis: Die historischen Daten sind noch da!!!!
DAS war der Trick. Besten Dank.
Werde in den nächsten Wochen ein Auge auf mögliche Datenabgänge werfen; bin aber zuversichtlich, dass sich die Datenlöschung nun -wie geplant- über die Wartung.php steuern lässt.
@Ulrich
Vlt. ist das Thema ein Hinweis in der Wartung.pdf wert.
LG
Thomas
-
- Beiträge: 53
- Registriert: Do 10. Feb 2022, 10:44
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 12 Mal
Re: Datenlöschung Wartung.php vs. Influxdb
Hallo Thomas,
freut mich das es nun geklappt hat.
Ich habe in der Crontab das Wartungsscript deaktiviert, und zwar so:
sudo crontab -e
Dann die Zeile /var/www/html/wartung.php auskommentiern mit einem # am Anfang
Speichern mit F10
Und fertig.
Zur Sicherheit kannst dann im Ordner /var/www/html die Datei wartung.php umbenennen.
Und dann wird gespeichert bis das Speichermedium voll ist.
LG,
Mihcael
freut mich das es nun geklappt hat.
Ich habe in der Crontab das Wartungsscript deaktiviert, und zwar so:
sudo crontab -e
Dann die Zeile /var/www/html/wartung.php auskommentiern mit einem # am Anfang
Speichern mit F10
Und fertig.
Zur Sicherheit kannst dann im Ordner /var/www/html die Datei wartung.php umbenennen.
Und dann wird gespeichert bis das Speichermedium voll ist.
LG,
Mihcael
Kostal Plenticore Gen1 8,5kW, KSEM Gen2, Solarfabrik Mono S3 Module 375W, installierte Leistung 7,5kWp, BYD HVS 7,68kWh
Wer ist online?
Mitglieder in diesem Forum: Ahrefs [Bot], Bing [Bot], Sonstige [Bot] und 0 Gäste