Docker Container stürzt immer wieder ab

Hallo

Mein symcon läuft seit Jahren im Docker als Image. Aktuell das neuste stable. Es passiert immer wieder dass der Container abstürzt. Also nur das symcon.

Gibt es irgendwelche Möglichkeiten die Ursache heraus zu finden? Das nas hat 8gb RAM. Wie viel sollte symcon zugewiesen werden

Gibt es ein log in dem man den Grund des Absturzes erkennen kann?

Danke und beste Grüße Thomas

Hi tommy,

du könntest das hier ausprobieren: Debugging für Experten (Docker)

paresy

Hi,
mein Symcon läuft auch unter Docker auf einem NAS. Ich habe IPS hohe Priorität und 4GB erlaubt. Da IPS ja auch auf RaspBerries läuft sollten 2GB wohl auch reichen.

Bei meine NAS (Synology) führt Docker für jedes Image auch ein Protokoll. Da schon mal reingeschaut?

Ralf

Vielen Dank für die Infos

ich hab das Synology NAS neu installiert. Es gab so einige Probleme. z.b. nach einem Neustart hat allein der Docker Start 14 min gebraucht. jetzt läuft das wieder.

NAS hat 8GB RAM und im Docker hab ich keine Begrenzung drin. Mal sehen wie es sich entwickelt. aktuell läuft es schon über 24h durch :smiley:

Hmm leider stürtz das System immer noch regelmäßig ab. habe ich einen zweiten Docker mit Symcon parallel laufen stürzt dieser nie ab. liegt also scheinbar an irgendwelchen scripten oder modulen, die das System dann beenden.

will ich aber die Diagnose wie in dem Link vorgeschlagen installieren passiert folgendes:

Hast du meinen Tipp mit dem Debugging ausprobiert?

paresy

Den Tip mit dem Debugging wollte ich probieren. Es lässt sich allerdings nicht wie beschreiben im docker installieren (siehe Sceenshot). Muss ich da noch was beachten?

Danke schon jetzt für deine Antwort

heute nacht ist er wieder abgestürzt

den Fehler mit der fehlgeschlagenen Installation hab ich nun gefunden. Im docker war der temp Ordner bereits eingebunden. Hab diese Verbindungn nun gelöscht und es lässt sich installieren. Jetzt nur noch auf den nächsten Absturz warten.

es stürzt immer mal wieder ab. Wie kann man das dann nach einem Absturz anschauen?

Habe aktuell die Datenbank extrem reduziert um nach einem Neustart einen schnelleren Start zu bekommen.
Allerdings stürzt aktuell immer noch ab, beinahe täglich. Wo kann ich das Logfile auswerten? Danke euch

Hi,
welches Logfile? Für IPS hast Du ja ein Volume für Logs angegeben und da musst Du dann z.B. per FTP rauf. Log mit der höchsten Nummer ist das Letzte. Bei Docker gibt es in der App eine Option Protokoll wo Du nachsehen kannst.

Bist Du sicher das es ein Absturz ist? Absturz hatte ich mit meiner Synology noch nie aber den Zustand das IPS praktisch gar nicht mehr reagierte und das habe ich mit Scripten geschafft die nie beendet wurden und irgendwann war die maximale Anzahl der Threads erreicht.

Ralf

Hi Ralf

wie paresy am anfang geschrieben hat habe ich folgendes ausgeführt https://community.symcon.de/t/debugging-fuer-experten-docker/121549

jetzt sollte da etwas geloggt werden worauf man den Absturz zurückschließen kann.
Ich weis was du meinst, dass hier scripte bis zur unendlichkeit laufen. Das hatte ich auch schon mal. aktuell stürzt der Docker unregelmäßig ab. Tagsüber Nachts mal nach 1 Tag mal nach 20 Tagen. Ich bekomme ein Mail über mein Synology, dass der Container unerwartet neu gestartet wurde.

andere Container stürzen nie ab. auch mein Bastel Symcon Container stürzt nie ab. Auch wenn dieser Container ausgeschaltet ist stürzt trotzdem das Hauptsystem ab.

Weil nach dem Absturz alle Variable neu aggregiert werden und das dann teilweise 20 min gedauert hat, habe ich mein Archiv extrem reduziert, sodass ich auf 2min komme. trotzdem stürzt das ab.

Logfiles schau ich mal durch. Teilweise sind die >500 MB pro Tag

Das waren die letzten Einträge vor dem Absturz

01.05.2023 22:22:03 | 24465 | DEBUG | VariableManager | [Hardware\Shelly\Messen Solar\E8DB84D36EC5 - Solarstrom\Energie] = 73.0257166667
01.05.2023 22:22:03 | 40176 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 37426 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: Timer: RoborockQueue
01.05.2023 22:22:03 | 37426 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: Timer: RoborockQueue ~ Dauer: 1 ms
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 36607 | DEBUG | VariableManager | [! Baustelle\Shelly\7A1953 - Garten Baustelle\Leistung] = 0.0000000000
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 44385 | DEBUG | VariableManager | [! Baustelle\Shelly\7A1953 - Garten Baustelle\Energie] = 0.0270333333
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 18394 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausführung von PHP-Modul ~ Aktion: ReceiveData
01.05.2023 22:22:03 | 29577 | DEBUG | VariableManager | [! Baustelle\Shelly\7A1953 - Garten Baustelle\Status] = false
01.05.2023 22:22:03 | 28421 | DEBUG | ScriptEngine | Ausgeführt von PHP-Modul ~ Aktion: ReceiveData ~ Dauer: 1 ms

Hi,
was bei Paresy fehlte war der Hinweis auf das Protokoll von Docker auf der Synology. Das half mir schon wenn ich z.B. bei Z2M falsche Schnittstelle angegeben hatte oder die USB-Treiber nicht installiert waren.

Ralf

wo kann ich das finden?

Hi,
ich bin bei DSM 7.2RC da ist alles anders. Ich meine es wäre bei der Dockerübersicht, Docker markieren und dann Details. Oben sollte dann auch ein Reiter mit Protokoll sein.

Ralf

Hi Ralf ich hab auch DSM7

rwenn der Docker Container abstürzt sieht man da auch Nix mehr im Log weil der ja dann aus ist. oder versteh ich da was ganz falsch?

Hi,
ich habe 7.2RC die es seit einigen Tagen gibt. Ich bin halt verspielt.

Was das Protokoll angeht kommt es auf den Absturz an wie beim PC auch. Wenn ein Programm sich z.B. mit einem Division / 0 verabschiedet sieht man es. Wenn es aber auf Kernelebene einen harten Reboot gibt sieht man es nicht mehr.

Es kann auf keinen Fall schaden auch im Docker-Log nachzusehen.

Ich sehe bei mir für IPS z.B. „/dev/sata1: open: Datei oder Verzeichnis nicht gefunden“ weil ich im Docker bin und es dieses Gerät da nicht gibt.

Ralf

Hi @tommy86,

hattest du es denn jetzt im Container hin bekommen, dass dort gdb läuft? Ansonsten würde ich dir gerne anbieten, dass wir uns dies zusammen in einer Remote Sitzung sonst mal nächsten ansehen und schnell einrichten um dem Problem auf die schliche zu kommen. Falls du es noch nicht nutzt, kannst du aber auch gerne mal auf die 6.4 gehen - falls ggf. das Problem dort schon gelöst sein sollte.

paresy