InfluxDB funktioniert nicht mehr nach reboot

Solaranzeige und Docker
Alles was mit der Docker Version zu tun hat.

Moderatoren: Ulrich, DeBaschdi

Antworten
earlybite
Beiträge: 14
Registriert: Fr 29. Jul 2022, 00:07
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

InfluxDB funktioniert nicht mehr nach reboot

Beitrag von earlybite »

Hallo zusammen,

ich habe ein kleines Problem mit der InfluxDB, welches sich im Grunde immer dann ereignet, wenn ich meinen RPi rebooten muss: Es werden seitens InfluxDB dann einfach keine Daten mehr gespeichert, die Grafana dann abrufen könnte.

Folgenden Screenshot habe ich um 20:26 Uhr gemacht, der letzte aufgenommene Wert war wie zu sehen um 17:54 Uhr, kurz vor dem Reboot.
1.png
Ich nutze solaranzeige als Docker-Container in Kombination mit Portainer. Bisher konnte ich das Problem immer so "lösen", indem ich den Portainer-Stack gestoppt und wieder gestartet habe. Dabei wird der Docker-Container immer komplett neu installiert und die alten config-Daten dabei übernommen. Danach lief bisher wieder immer alles, aber das ist keine Dauerlösung...

InfluxDB scheint wohl beim Reboot innerhalb des Containers nicht richtig zu starten, oder? Gibt es einen Befehl, mit dem ich InfluxDB nach einem Reboot "zwingen" kann, wieder seinen Dienst aufzunehmen? Oder noch besser: Kann ich das Problem irgendwie an der Wurzel lösen, sodass InfluxDB nach jedem Reboot wieder richtig weiter funktoiniert, als wäre nichts gewesen?

DANKE für jede Unterstützung!

earlybite
Beiträge: 14
Registriert: Fr 29. Jul 2022, 00:07
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: InfluxDB funktioniert nicht mehr nach reboot

Beitrag von earlybite »

An Influx scheint es wohl nicht zu liegen.

der Befehl

Code: Alles auswählen

sudo docker exec solaranzeige tail -f /var/www/log/solaranzeige.log
liefert folgende Ausgabewerte:

Code: Alles auswählen

23.10. 18:27:01 |----------------   Start  huawei_M1.php  -----------------------------
23.10. 18:27:03  -Lesefehler > [  ]
23.10. 18:27:05  -Lesefehler > [  ]
23.10. 18:27:06  -Lesefehler > [  ]
23.10. 18:27:08  -Lesefehler > [  ]
23.10. 18:27:09  -Lesefehler > [  ]
23.10. 18:27:11  -Lesefehler > [  ]
23.10. 18:27:11 >  -Fehler beim Auslesen....
23.10. 18:27:11 |----------------   Stop   huawei_M1.php    ---------------------------
23.10. 18:28:01 |----------------   Start  huawei_M1.php  -----------------------------
23.10. 18:28:03  -Lesefehler > [  ]
23.10. 18:28:04  -Lesefehler > [  ]
23.10. 18:28:06  -Lesefehler > [  ]
23.10. 18:28:07  -Lesefehler > [  ]
23.10. 18:28:09  -Lesefehler > [  ]
23.10. 18:28:10  -Lesefehler > [  ]
23.10. 18:28:10 >  -Fehler beim Auslesen....
23.10. 18:28:10 |----------------   Stop   huawei_M1.php    ---------------------------
Anscheinend kann also nach einem Reboot der WR nicht mehr richtig ausgelesen werden. Ist eventuell eine Fehlfunktion von mosquitto dafür verantwortlich?

earlybite
Beiträge: 14
Registriert: Fr 29. Jul 2022, 00:07
Hat sich bedankt: 9 Mal
Danksagung erhalten: 1 Mal

Re: InfluxDB funktioniert nicht mehr nach reboot

Beitrag von earlybite »

Ich habe es tatsächlich hinbekommen, das Problem zu lösen. Man muss die USB-Initialisierung manuell starten, dann funktioniert auch die Datenübertragung nach dem Reboot weiterhin.

Falls nochmal jemand das Gleiche Problem hat, hier die Lösung:

Datei USB-Init.sh erstellen, die bei jedem Reboot mit cron ausgeführt wird.

Code: Alles auswählen

sudo crontab -e
@reboot /usr/bin/sh /home/USERNAME/USB-Init.sh
Inhalt der USB-Init.sh :

Code: Alles auswählen

#!/bin/bash
sleep 30s
docker exec solaranzeige /var/www/html/usb_init.php	>/dev/null

DeBaschdi
Beiträge: 228
Registriert: Mo 10. Aug 2020, 08:13
Hat sich bedankt: 12 Mal
Danksagung erhalten: 40 Mal

Re: InfluxDB funktioniert nicht mehr nach reboot

Beitrag von DeBaschdi »

Moin, du kannst auch einfach das Cron innerhalb der Solaranzeige editieren, das usb init ist standartmäßig deaktiviert
Screenshot 2022-11-04 054713.png
Auf den Web-Fileeditor kommst du über

Code: Alles auswählen

http://IP:{mapped Apache2 Listenport} , Standart 8080
Nach änderung, abspeichern und Container neu starten.

Antworten