NEWS
iobroker Absturz
-
Guten Abend,
ich bin neu hier und wollte um Hilfe bitten.
Ich habe seit einigen Monaten eine lauffähige iobroker Installation, nebst Grafana und influxdb auf einem Raspberry Pi3 laufen. Mittels des iobroker.vis App greife ich auf VIS zu und der modbus-Adapter schreibt regelmäßig Daten zweier Smartmeter im Haus in die influx-Datenbank.
Leider stürzt iobroker hin und wieder ab. Dann ist die Weboberfläche nicht mehr erreichbar und es werden auch keine Daten mehr in die Datenbank geschrieben. Die Grafana-Oberfläche ist, genauso wie die SSH-Verbindung, aber weiter erreichbar. Abhilfe schafft dann nur ein reboot, bzw. ein iobroker restart-Befehl.
Nacht startet die Beer einmal komplett neu, da ich dachte dass das Problem evtl. damit zu beheben wäre. Ist es aber leider nicht.Node.js v8.16.0
NPM 6.4.1
sämtliche Adapter sind aktuellNachfolgend ein Auszug aus der heutigen log-Datei. Abgestürzt ist er wohl kurz nach 21:10, zumindest hörten da die Aufzeichnungen in Grafana auf...
2019-05-17 21:00:12.138 - ^[[34mdebug^[[39m: daswetter.0 nothing to do
2019-05-17 21:00:12.244 - ^[[32minfo^[[39m: host.raspberrypi3 instance system.adapter.daswetter.0 terminated with code 0 (OK)
2019-05-17 21:05:00.062 - ^[[32minfo^[[39m: host.raspberrypi3 instance system.adapter.dwd.0 started with pid 21005
2019-05-17 21:05:03.435 - ^[[32minfo^[[39m: dwd.0 starting. Version 2.4.3 in /opt/iobroker/node_modules/iobroker.dwd, node: v8.16.0
2019-05-17 21:05:04.496 - ^[[32minfo^[[39m: host.raspberrypi3 instance system.adapter.dwd.0 terminated with code 0 (OK)
2019-05-17 21:12:36.531 - ^[[33mwarn^[[39m: modbus.0 Poll error count: 1 code: "App Timeout"
2019-05-17 21:13:49.967 - ^[[31merror^[[39m: uncaught exception: spawn ENOMEM
2019-05-17 21:13:52.378 - ^[[33mwarn^[[39m: modbus.0 Error: undefined
2019-05-17 21:13:52.379 - ^[[31merror^[[39m: modbus.0 Request timed out.
2019-05-17 21:13:52.379 - ^[[31merror^[[39m: modbus.0 Client in error state.
2019-05-17 21:15:21.902 - ^[[32minfo^[[39m: modbus.0 Disconnected from slave 192.168.99.95
2019-05-17 21:15:28.187 - ^[[32minfo^[[39m: web.0 <==Disconnect system.user.admin from ::ffff:192.168.99.114 vis.0
2019-05-17 21:15:34.320 - ^[[32minfo^[[39m: hm-rpc.2 xmlrpc <- listDevices ["hm-rpc.2"]
2019-05-17 21:15:36.177 - ^[[32minfo^[[39m: web.0 terminating http server on port 8082
2019-05-17 21:15:36.178 - ^[[32minfo^[[39m: web.0 terminated http server on port 8082
2019-05-17 21:15:44.427 - ^[[31merror^[[39m: info.0 websocket error
2019-05-17 21:15:44.548 - ^[[31merror^[[39m: info.0 Error: websocket error
at WS.Transport.onError (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:64:13)
at WebSocket.ws.onerror (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:150:10)
at WebSocket.onError (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:109:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)
at WebSocket.finalize (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:182:41)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at onwriteError (_stream_writable.js:417:12)
at onwrite (_stream_writable.js:439:5)
2019-05-17 21:15:44.102 - ^[[32minfo^[[39m: admin.0 terminating http server on port 8081
2019-05-17 21:15:44.904 - ^[[32minfo^[[39m: info.0 cleaned everything up...
2019-05-17 21:15:45.526 - ^[[32minfo^[[39m: hm-rpc.1 xmlrpc <- system.listMethods ["hm-rpc.1"]
2019-05-17 21:15:45.581 - ^[[32minfo^[[39m: hm-rpc.1 xmlrpc <- listDevices ["hm-rpc.1"]
2019-05-17 21:15:46.180 - ^[[31merror^[[39m: rpi2.0 websocket error
2019-05-17 21:15:46.209 - ^[[31merror^[[39m: rpi2.0 Error: websocket error
at WS.Transport.onError (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transport.js:64:13)
at WebSocket.ws.onerror (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/engine.io-client/lib/transports/websocket.js:150:10)
at WebSocket.onError (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/EventTarget.js:109:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)
at WebSocket.finalize (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/ws/lib/WebSocket.js:182:41)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at onwriteError (_stream_writable.js:417:12)
at onwrite (_stream_writable.js:439:5)
2019-05-17 21:15:46.663 - ^[[32minfo^[[39m: admin.0 terminating http server on port 8081
2019-05-17 21:17:45.590 - ^[[32minfo^[[39m: hm-rpc.1 xmlrpc <- listDevices ["hm-rpc.1"]
2019-05-17 21:30:07.359 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 21:30:08.872 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 22:00:07.346 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 22:00:08.938 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 22:30:07.331 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 22:30:08.891 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 23:00:07.325 - ^[[32minfo^[[39m: info.0 Popup-News readed...
2019-05-17 23:00:08.879 - ^[[32minfo^[[39m: info.0 Popup-News readed...Leider bin ich noch nicht so firm um zu verstehen, was da genau passiert ist und wie ich das vermeiden kann. Ich hoffe ihr könnte mir helfen?!
Falls ihr sonst noch Daten benötigt, liefere ich diese schnellstmöglich nach!
-
scheint etwas mit dem modbus adapter zu tun zu haben
versuch doch mal in github beim mudbusadapter ein neues issue aufzumachen und setze einen link hier her
2019-05-17 21:12:36.531 - ^[[33mwarn^[[39m: modbus.0 Poll error count: 1 code: "App Timeout" 2019-05-17 21:13:49.967 - ^[[31merror^[[39m: uncaught exception: spawn ENOMEM 2019-05-17 21:13:52.378 - ^[[33mwarn^[[39m: modbus.0 Error: undefined
-
Iobroker, Grafana und Influx auf einem Pi3? Und das womöglich noch noch alles auf eine SD Karte schreiben?
Sorry aber da sind Probleme vorprogrammiert.Speicher dürfte schnell am Ende sein je nachdem wieviel Adapter noch installierst hast. Wenn Speicher voll dann werden unkontrolliert Prozesse beendet um Speicher freizugeben also Adapter beendet.
Gib mal unter der Konsole auf dem pi
df -h
Und
Mem - free
Ein und poste das Ergebnis -
@Segway sagte in iobroker Absturz:
Speicher dürfte schnell am Ende sein je nachdem wieviel Adapter noch installierst hast
Dürfte nicht nur, IST!
@liv-in-sky sagte in iobroker Absturz:
ENOMEM
-
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf
/dev/root 30G 4,3G 24G 16% /
devtmpfs 460M 0 460M 0% /dev
tmpfs 464M 0 464M 0% /dev/shm
tmpfs 464M 24M 441M 6% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 464M 0 464M 0% /sys/fs/cgroup
/dev/mmcblk0p1 44M 22M 22M 50% /boot
/dev/sda1 57G 1,1G 53G 2% /mnt/influxdb
tmpfs 93M 0 93M 0% /run/user/1000Mem -free funktioniert nicht "Kommando nicht gefunden"
die Influx Datenbank schreibt auf einen eingehängten USB-Stick, nicht auf die SD-Karte. Ursprünglich wollte ich das alles auf mein NAS in einen Docker-Container installieren, aber dafür ist mein NAS zu alt. Daher die Lösung mit dem Pi.
-
-
@AlCalzone
total used free shared buff/cache available
Mem: 927 589 112 38 224 248
Swap: 99 60 39 -
@Homoran sagte in iobroker Absturz:
Dürfte nicht nur, IST!
Ja genau, du hast Recht
@AlCalzone sagte in iobroker Absturz:
Probier mal
free -m
Hups ja genau ... hatte ich verwechselt.
@Jens-Lämmer sagte in iobroker Absturz:
@AlCalzone
total used free shared buff/cache available
Mem: 927 589 112 38 224 248
Swap: 99 60 39Tjo ist also nicht so viel mehr. Da du schreibst dass es hin und wieder "nur" passiert ist es notwendig zu wissen was denn dann da läuft, evtl. die syslog files mal durchschauen, aber wie oben schon geschrieben würde ich behaupten bei dem was da alles läuft, dass der Speicher einfach zu Ende ist und aktuell ja schon stellen in die die SWAP Datei geschrieben wird.
Die Hardware reicht meiner Meinung nach für diesen Einsatzfall einfach nicht aus. -
hm ok, dann vermutlich etwas zu viel für den Kleinen?
Bevor ich jetzt Stunden in die Fehlersuche investiere, würde es mehr Sinn machen die Geschichte in einen Docker-Container auf einem NAS zu betreiben? Mittelfristig möchte ich mein Synology NAS nämlich ersetzen und bei den neuen Modellen scheint das ja zu funktionieren.
Für alternative Vorschläge bin ich aber auch offen
-
@Jens-Lämmer
dann antworte ich mir selbstIch konnte das Problem lösen. Es zeigte sich dass die auf dem Raspberry konfigurierte Swap-Datei lediglich mit einer Größe von 100MB aktiv war. Durch das Vergrößern der Auslagerungsdatei auf 512 MB, läuft das System seit knapp 14 Tagen absolut fehlerfrei!
Über den Rpi-Adapter lasse ich derzeit die Größe der Auslagerungsdatei loggen. Dabei zeigt sich, dass sie meist um die 250MB groß ist. Ab und an steigt sie kurzfristig bis auf ~320MB an und sinkt dann wieder auf den regulären Wert. -
@Jens-Lämmer
Das sollte aber keine Dauerlösung sein!Dir wird bei so vielen Schreibzugriffen relativ bald die SD-Karte in die Knie gehen.
-
Auch wenn es schon einige Zeit her ist, möchte ich den Ausgang der Sache beschreiben, falls es zukünftig jemand betreffen sollte.
@Homoran
Da hattest Du natürlich vollkommen Recht und genauso kam es dann...Der USB-Stick ging gegen Ende hin wirklich in die Knie. Ich musste teilweise im Wochentakt das WAL Verzeichnis löschen, weil dort irgendwelche korrupte Daten drin waren, um nochmal auf die Datenbank zugreifen zu können.Mittlerweile habe ich Grafana, Iobroker, InfluxDB und Co. in Docker-Containern auf meinem neuen Qnap-NAS installiert und seit einigen Tagen nach dem Black-Friday erfolgreich am laufen.
Ergebnis: Keinerlei Performance-Probleme mehr
-
@jens-lämmer
Hallo Jens,
kannst du bitte bei der influxdb- Installation auf der
TS431 unterstützen, da ich bisher beim Containererstellen
Fehler bekommen habe?Deine Version und Einträge könnten sehr hilfreich sein.
Grüße Reiner
-
@schneire der von dir referenzierte User war vor 33 Monaten zuletzt im Forum.
Außerdem wäre
@schneire sagte in iobroker Absturz:
influxdb- Installation auf der TS431
ein Thema für offTopic.