Autor Thema: Modul zum senden von keep-alive Meldungen an systemd (watchdog)  (Gelesen 1789 mal)

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Aus der Idee aus dem Forum (https://forum.fhem.de/index.php/topic,85231.0.html) entstanden und nach einer Testphase ins Repo eingecheckt (ab morgen per Update).

Das Modul erlaubt (mit einem passenden systemd-Script) eine Überwachung von FHEM mit Linux-systemd-Mitteln. Wird sich die FHEM-Instanz nicht innerhalb einer definierten Zeit melden (in Folge eines Abstutzes, 'Hängers' etc.), wird FHEM von systemd automatisch beendet und neu gestartet. Damit wird das System ein wenig robuster im Dauerbetrieb. Dennoch sollte man den Fällen, in denen der Watchdog zuschlägt, tunlichst nachgehen und die Problemursachen beseitigen.

Damit das funktioniert, muss FHEM unter der Kontrolle von systemd laufen und der Watchdog muss korrekt konfiguriert sein.
Folgendes Script kann dafür benutzt werden:
[Unit]
Description=FHEM Home Automation
Requires=network.target
#After=network.target
After=dhcpcd.service

[Service]
Type=forking
NotifyAccess=all
User=fhem
Group=dialout
# Run ExecStartPre with root-permissions
PermissionsStartOnly=true
ExecStartPre=-/bin/mkdir -p /var/run/fhem
ExecStartPre=/bin/chown -R fhem:dialout /var/run/fhem
# Run ExecStart with defined user and group
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
TimeoutStartSec=240
TimeoutStopSec=120
#ExecStop=/usr/bin/pkill -U fhem perl
ExecStop=/usr/bin/pkill -f -U fhem "fhem.pl fhem.cfg"
# Restart options: no, on-success, on-failure, on-abnormal, on-watchdog, on-abort, or always.
Restart=on-failure
RestartSec=3
WatchdogSec=180
PIDFile=/var/run/fhem/fhem.pid

[Install]
WantedBy=multi-user.target
Das Script kann unter "/etc/systemd/system/fhem.service" angelegt werden.
Mit "sudo systemctl daemon-reload" wird sysgtemd-Konfiguration erneuert.
Anschliessend kann FHEM mit folgendem Befehl gestartet werden: "sudo systemctl start fhem.service".
Wenn in dem Script "Type=notify" verwendet wird, muss global Attribute "nofork=1" gesetzt sein.
attr global nofork 1Bei "Type=forking" muss in Script der korrekte Pfad zu dem PID-Datei angegeben werden, diese Datei muss auch in FHEM mit dem global Attribute "pidfilename" aktiviert sein.
attr global pidfilename /var/run/fhem/fhem.pid
Die Definition für das Modul in FHEM ist sehr simpel und sollte vor dem aktivieren von Watchdog erstellt werden (save nicht vergessen!)

define <name> systemd_watchdog
Das war's auch schon. Viel Erfolg!

« Letzte Änderung: 19 Januar 2019, 21:20:47 von hexenmeister »
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline wibi_

  • New Member
  • *
  • Beiträge: 38
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #1 am: 22 August 2018, 18:14:35 »
Servus,
vielen Dank für das Modul und die Anleitung! Ist genau das was ich gesucht habe, nachdem mein Garten einige Tage während meiner Abwesenheit trocken geblieben ist.

Etwas ist mir noch aufgefallen: Kann es sein, dass ein "shutdown restart" im FHEM Eingabefenster jetzt nur noch den Shutdown macht?
Ist aber eigentlich kein Prolem, wenn man das weiß. Kann ja FHEM auch wieder mit systemctl starten oder einfach einen reboot machen.

Gruß
RPI3, RPI2, Synology 212+ DSM 6.2, fhem 5.8, CULV3_FS20, CULV3_HM, CULV3_RFR, Homematic, FS20, 1-Wire, ESPEasy

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #2 am: 22 August 2018, 22:00:58 »
Moin, moin,

wie beschrieben, die Idee und die Funktionalität ist nicht von mir, ich habe nur das Ganze etwas bequemmer in ein Modul verpackt. Aber ich freue mich natürlich, dass das Modul jemandem nützlich ist :)
Bin dennoch kein Experte, was systemd angeht.
Bei mir verhält sich etwas anders. Egal, ob 'shutdown', oder 'shutdown restart', FHEM wird beendet und sofort vom systemd neu gestartet. Stört mich nicht weiter, soll ja auch immer laufen. Beenden kann ich auch mit systemctl.
Läuft bei Dir das Modul sonst wie gewünscht? Nach Abschuss von FHEM, nach deaktivieren/löschen des Modulinstanz oder nach einem simulierten Hänger startet nach der Wartezeit brav neu?
Arbeitest du mit forking oder mit notify?

Grüße
Alexander
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline wibi_

  • New Member
  • *
  • Beiträge: 38
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #3 am: 24 August 2018, 19:44:18 »
Hallo Alexander,

bin leider auch kein systemd - Experte. Ich habe fhem.service mit Type=forking und dem von mir oben beschriebenen Verhalten laufen.
Habe zwischenzeitlich auch mal mit Type=oneshot und RemainAfterExit=yes, sowie mit ExecReload=... wie hier beschrieben https://forum.fhem.de/index.php/topic,25706.0.html experimentiert - brachte aber auch nicht den gewünschten Erfolg.
Nach dem Abschuß (kill) von FHEM funktioniert alles wunderbar.
Was mich allerdings interessieren würde ist, wie ich einen Hänger von FHEM simulieren kann? Damit habe ich mich noch überhaupt nicht beschäftigt. Bin froh, wenn's läuft...

Gruß Harry

RPI3, RPI2, Synology 212+ DSM 6.2, fhem 5.8, CULV3_FS20, CULV3_HM, CULV3_RFR, Homematic, FS20, 1-Wire, ESPEasy

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #4 am: 24 August 2018, 20:17:06 »
Was mich allerdings interessieren würde ist, wie ich einen Hänger von FHEM simulieren kann? Damit habe ich mich noch überhaupt nicht beschäftigt.

Nichts leichter als das ;D
sleep 300
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline wibi_

  • New Member
  • *
  • Beiträge: 38
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #5 am: 25 August 2018, 14:17:40 »
Hallo Alexander,

nach einigem Testen funktioniert das bei mir jetzt auch mit dem "sleep-Hänger". Ein Problem hatte ich mit der ExecStop Zeile der Unit. Diese lief bei mir auf einen Fehler.
Nachdem ich ExecStop wie folgt geändert habe, funktioniert der Watchdog jetzt auch beim sleep:

ExecStop=/usr/bin/pkill -f -x fhem.pl
Und wenn die ExecStartPre - Zeile noch um ein -p ergänzt wird, unterdrückt das die Fehlermeldung, wenn das Verzeichnis /var/run/fhem schon existiert - ist aber nur Kosmetik.

ExecStartPre=-/bin/mkdir -p /var/run/fhem
Danke nochmal für dieses Modul und deine Arbeit!

Gruß Harry


RPI3, RPI2, Synology 212+ DSM 6.2, fhem 5.8, CULV3_FS20, CULV3_HM, CULV3_RFR, Homematic, FS20, 1-Wire, ESPEasy

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #6 am: 25 August 2018, 20:21:17 »
Gute Idee mit mkdir mit -p !
Danke, habe Commandref entsprechend geändert.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Edi77

  • Full Member
  • ***
  • Beiträge: 436
  • Der Weg ist das Ziel
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #7 am: 04 Dezember 2018, 18:44:37 »
Ich hätte da mal noch eine Frage

Irgendwo habe ich hier mal gelesen das unter ./contrib/init-scripts/fhem.service existieren würde, was bei mir nicht so ist.
Dann habe ich mal geschaut wo überall die fhem.service auf meinem liegt

root@ubuntu-FHEM:/# find -name fhem.service
./run/systemd/generator.late/graphical.target.wants/fhem.service
./run/systemd/generator.late/multi-user.target.wants/fhem.service
./run/systemd/generator.late/fhem.service
./var/lib/lxcfs/cgroup/pids/system.slice/fhem.service
./var/lib/lxcfs/cgroup/blkio/system.slice/fhem.service
./var/lib/lxcfs/cgroup/devices/system.slice/fhem.service
./var/lib/lxcfs/cgroup/cpu,cpuacct/system.slice/fhem.service
./var/lib/lxcfs/cgroup/memory/system.slice/fhem.service
./var/lib/lxcfs/cgroup/name=systemd/system.slice/fhem.service
./sys/fs/cgroup/pids/system.slice/fhem.service
./sys/fs/cgroup/blkio/system.slice/fhem.service
./sys/fs/cgroup/devices/system.slice/fhem.service
./sys/fs/cgroup/cpu,cpuacct/system.slice/fhem.service
./sys/fs/cgroup/memory/system.slice/fhem.service
./sys/fs/cgroup/systemd/system.slice/fhem.service
./sys/fs/cgroup/unified/system.slice/fhem.service

Daher die Frage, ist "/etc/systemd/system/fhem.service" das immer noch der richtige Ort?

Master FHEM 5.9 als VM auf ESX mit Mint/Ubuntu 18.04 LTS mit CUNO868/MAX! Cube|RPi 1 ser2net COC|HMUARTLGW|Orange Pi SMAspot via Bluetooth an|RPi mit GammaScout,nanoCUL868|MQTT EasyESP 8266|LuftdatenInfo|HUEDev|probemon|Siemens Logo|Xiaomi Flower|3D PRINTER RAISE3D

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #8 am: 04 Dezember 2018, 19:10:07 »
systemd kann selbst den script an die richtige Stelle verlinken. Habe ein wenig dazu schon mal geschrieben http://s6z.de/cms/index.php/homeautomation-homecontrol/softwareplattformen/fhem/142-fhem-watchdog-mit-systemd
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline carlos

  • Full Member
  • ***
  • Beiträge: 231
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #9 am: 06 Dezember 2018, 17:31:12 »
Hallo,
Ich habe mr den Watchdog jetzt auch mal eingerichtet.
Ich kriege jetzt aber gar nicht mit ob und wann der watchdog zugeschlagen hat.
Im log sieht man es schon, aber wenn man das im watchdog device noch sehen könnte wäre cool.
Ist das machbar?
Gruß
Carlos
FHEM svn auf Gigabyte BRIX,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue

Offline Edi77

  • Full Member
  • ***
  • Beiträge: 436
  • Der Weg ist das Ziel
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #10 am: 06 Dezember 2018, 17:37:36 »
Du kannst dir z.B. eine EMail schicken lassen  ;)

define SendMail_fhemstart notify global:INITIALIZED|REREADCFG sleep 30;; {DebianMail('aaaa@bbbbb.com','>>>>> FHEM REBOOT <<<<<','>>>>> FHEM REBOOT <<<<<')}
Master FHEM 5.9 als VM auf ESX mit Mint/Ubuntu 18.04 LTS mit CUNO868/MAX! Cube|RPi 1 ser2net COC|HMUARTLGW|Orange Pi SMAspot via Bluetooth an|RPi mit GammaScout,nanoCUL868|MQTT EasyESP 8266|LuftdatenInfo|HUEDev|probemon|Siemens Logo|Xiaomi Flower|3D PRINTER RAISE3D

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #11 am: 06 Dezember 2018, 22:08:30 »
Ich kriege jetzt aber gar nicht mit ob und wann der watchdog zugeschlagen hat.
Im log sieht man es schon, aber wenn man das im watchdog device noch sehen könnte wäre cool.
Ist das machbar?

Schwierig. Man kann natürlich den Startzeitpunkt protokollieren. Aber den Grund nicht wirklich zuverlässig. Wenn der WD zuschlägt, wird FHEM hart beendet (weil ja eh vermutlich schon hängt). Da kann man schlecht etwas zuverlässig speichern.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #12 am: 19 Januar 2019, 17:16:33 »
Hallo Alexander,
wollte den Watchdog installieren, aber irgend etwas läuft bei mir schief.
Nach der Installation wie im ersten Post oder auf deiner Homepage ist
FHEM nicht mehr erreichbar.
Auszug aus dem Log-File.

2019.01.19 16:46:54 3: deCONZ: websocket: Switching Protocols ok
2019.01.19 16:49:01 1: Watchdog Client: systemd watchdog is not available. Module inactiv.
2019.01.19 16:49:01 2: Watchdog Client: no systemd watchdog available
2019.01.19 16:49:33 0: Server shutdown
2019.01.19 16:49:33 1: Shutdown executed
2019.01.19 16:49:34 1: Including fhem.cfg

2019.01.19 16:49:37 3: Druck_Test: I/O device is deCONZ
2019.01.19 16:49:37 1: Watchdog Client: systemd watchdog is not available. Module inactiv.
2019.01.19 16:49:37 1: Including ./log/fhem.save
/var/run/fhem/fhem.pid: No such file or directory
2019.01.19 16:49:38 1: Including fhem.cfg


Das Verzeichnis /var/run/fhem wurde von mir auch schon mal von Hand angelegt. Nach einem Systemstart nicht mehr vorhanden.
Beim ersten Installationsversuch war FHEM 4Min. erreichbar anschliessend 4Min. weg usw.
Bei diesem Versuch wird FHEM ständig rebootet.

Gruß
Thomas

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #13 am: 19 Januar 2019, 19:10:36 »
Verzeichnisse unter /var per Hand anzulegen ist idR sinnlois, da dies wird im RAM-Disk abgebildet. Dafür stehen entsprechende Befehle in dem service-Script.

Laut log läuft dein fhem nicht unter systemd, oder das Modul kann das nicht erkennen.

Interessant ist der Log von systemd. Was wird ausgebenen bei folgendem Befehl
sudo systemctl status fhem.service
Wurde service-script von meiner Webseite genommen? Ist nofork definiert?


In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #14 am: 19 Januar 2019, 20:06:20 »
Hallo Alexander,
war ich mal wieder zu schnell (was bei mir selten vorkommt ;D) und habe das Backup-Image eingespielt.
Kein Problem machen wir es nochmals von Vorne.
Ohne Installation von watchdog.
sudo systemctl status fhem.service

● fhem.service - FHEM Home Automation
   Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: ena
   Active: active (running) since Sun 2019-01-06 14:04:47 CET; 1 weeks 6 days ag
  Process: 630 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=0/S
 Main PID: 700 (perl)
   CGroup: /system.slice/fhem.service
           └─700 /usr/bin/perl fhem.pl fhem.cfg

Jan 06 14:04:45 Raspberry-Monitor systemd[1]: Starting FHEM Home Automation...
Jan 06 14:04:47 Raspberry-Monitor systemd[1]: Started FHEM Home Automation.

nun ersetzeich die vorhandene /etc/systemd/system/fhem.service
# $Id: fhem.service 16001 2018-01-26 11:54:41Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target

[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always

[Install]
WantedBy=multi-user.target
durch die im ersten Post.
Führe  "sudo systemctl daemon-reload".
Dieses mal kommt nach ausführen von "sudo systemctl start fhem.service" eine Fehlermeldung (beim letzten Versuch nicht aufgefallen).
Job for fhem.service failed because a timeout was exceeded.
See "systemctl status fhem.service" and "journalctl -xe" for details.

"status fhem.service"
sudo systemctl status fhem.service
● fhem.service - FHEM Home Automation
   Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: enabled)
   Active: activating (start) since Sat 2019-01-19 19:55:03 CET; 1min 42s ago
  Process: 31815 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=0/SUCCESS)
  Process: 31812 ExecStartPre=/bin/chown -R fhem:dialout /var/run/fhem (code=exited, status=0/SUCCESS)
  Process: 31808 ExecStartPre=/bin/mkdir /var/run/fhem (code=exited, status=1/FAILURE)
 Main PID: 700 (code=killed, signal=ABRT)
   CGroup: /system.slice/fhem.service
           └─31816 /usr/bin/perl fhem.pl fhem.cfg

Jan 19 19:55:03 Raspberry-Monitor systemd[1]: Stopped FHEM Home Automation.
Jan 19 19:55:03 Raspberry-Monitor systemd[1]: Starting FHEM Home Automation...
Jan 19 19:55:04 Raspberry-Monitor systemd[1]: fhem.service: PID file /var/run/fhem/fhem.pid not readable (yet?) after start: No such file or directory

und ein "sudo journalctl -xe" bringt mir diese Meldungen.

-- The result is failed.
Jan 19 19:55:00 Raspberry-Monitor systemd[1]: fhem.service: Unit entered failed state.
Jan 19 19:55:00 Raspberry-Monitor systemd[1]: fhem.service: Failed with result 'timeout'.
Jan 19 19:55:03 Raspberry-Monitor systemd[1]: fhem.service: Service hold-off time over, scheduling restart.
Jan 19 19:55:03 Raspberry-Monitor systemd[1]: Stopped FHEM Home Automation.
-- Subject: Unit fhem.service has finished shutting down
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit fhem.service has finished shutting down.
Jan 19 19:55:03 Raspberry-Monitor systemd[1]: Starting FHEM Home Automation...
-- Subject: Unit fhem.service has begun start-up
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit fhem.service has begun starting up.
Jan 19 19:55:03 Raspberry-Monitor mkdir[31808]: /bin/mkdir: das Verzeichnis „/var/run/fhem“ kann nicht angelegt werden: Die Datei existiert bereits
Jan 19 19:55:04 Raspberry-Monitor systemd[1]: fhem.service: PID file /var/run/fhem/fhem.pid not readable (yet?) after start: No such file or directory
Jan 19 19:55:18 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:55:19 Raspberry-Monitor sudo[31793]: pam_unix(sudo:session): session closed for user root
Jan 19 19:55:49 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:56:19 Raspberry-Monitor sudo[32231]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl status fhem.service
Jan 19 19:56:19 Raspberry-Monitor sudo[32231]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Jan 19 19:56:20 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:56:43 Raspberry-Monitor sudo[32231]: pam_unix(sudo:session): session closed for user root
Jan 19 19:56:46 Raspberry-Monitor sudo[32373]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/systemctl status fhem.service
Jan 19 19:56:46 Raspberry-Monitor sudo[32373]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Jan 19 19:56:46 Raspberry-Monitor sudo[32373]: pam_unix(sudo:session): session closed for user root
Jan 19 19:56:51 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:57:21 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:57:52 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:57:57 Raspberry-Monitor sudo[335]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/bin/journalctl -xe
Jan 19 19:57:57 Raspberry-Monitor sudo[335]: pam_unix(sudo:session): session opened for user root by pi(uid=0)
Jan 19 19:58:23 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:58:53 Raspberry-Monitor deCONZ-WIFI.sh[299]: Device "wlan0" does not exist.
Jan 19 19:59:03 Raspberry-Monitor systemd[1]: fhem.service: Start operation timed out. Terminating.
Jan 19 19:59:03 Raspberry-Monitor systemd[1]: Failed to start FHEM Home Automation.
-- Subject: Unit fhem.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
--
-- Unit fhem.service has failed.

Gruß Thomas

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #15 am: 19 Januar 2019, 21:28:35 »
FHEM startet nicht, weil sie angewiesen wurde, PID-File zu erstellen, geht aber nicht, da Verzeichnis angeblich nicht beschreibbar. Service-Script kann diese auch nicht erstellen. Warum? Angeblich schon vorhanden. Die Meldung ist unschön, sollte jedoch eigentlich nicht weiter stören. Ergänze Option -p bei mkdir (ich habe ersten Post entsprechend angepasst), dann ist die Meldung weg. Bitte schaue nach den Rechten für /var/run/fhem/
ls -l /var/run/fhem/
Ist genügend Platz vorhanden?
df /var/run
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #16 am: 19 Januar 2019, 22:12:16 »
Bei "sudo systemctl start fhem.service" bekomme ich nach wie vor eine Fehlermeldung.
Neu Meldung bei Abfrage des Status.
● fhem.service - FHEM Home Automation
   Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: enabled)
   Active: activating (start) since Sat 2019-01-19 21:58:35 CET; 1min 19s ago
  Process: 6716 ExecStart=/usr/bin/perl fhem.pl fhem.cfg (code=exited, status=0/SUCCESS)
  Process: 6712 ExecStartPre=/bin/chown -R fhem:dialout /var/run/fhem (code=exited, status=0/SUCCESS)
  Process: 6710 ExecStartPre=/bin/mkdir -p /var/run/fhem (code=exited, status=0/SUCCESS)
 Main PID: 606 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/fhem.service
           └─6718 /usr/bin/perl fhem.pl fhem.cfg

Jan 19 21:58:35 Raspberry-Monitor systemd[1]: Starting FHEM Home Automation...
Jan 19 21:58:36 Raspberry-Monitor systemd[1]: fhem.service: PID file /var/run/fhem/fhem.pid not readable (yet?) after start: No such file or directory

" ls -l /var/run/fhem/" liefert den Wert "insgesamt 0",Verzeichnis ist leer und hat die Rechte "dailout" und "fhem"
" df /var/run" Listet dieses auf
Dateisystem    1K-Blöcke   Benutzt   Verfügbar   Verw%   Eingehängt auf
tmpfs               474724     12236      462488      3%         /run

Kann es damit zusammen hängen das es die
„Raspbian Stretch with desktop and recommended software“
Version ist und nicht die lite?

Werde es noch mit der Lite versuchen.




Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #17 am: 19 Januar 2019, 22:18:22 »
Mit den Verzeichnissen ist alles in Ordnung. Das Problem ist, dass fhem keine PID-Datei erstellt. Hast Du fhem entsprechend konfiguriert?

Zitat
Kann es damit zusammen hängen das es die
„Raspbian Stretch with desktop and recommended software“
Version ist und nicht die lite?
Kann ich mir nicht vorstellen.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #18 am: 20 Januar 2019, 00:08:49 »
Hallo Alexander,
 herzlichen Dank für deine Hilfe. 

Habe auf den Raspi das Backup-File neu aufgespielt und die Konfigurationen aus dem 1.Poste neu durchgeführt.
Lief bis zum FHEM-Backup Einwandfrei (35 Minuten)
Führte zum Schluss vom Backup einen Reboot durch und kam anschließend wieder.

Log ist Reverse - Beachte die Zeitern (Zeitsprung)
2019.01.19 23:42:09 3: WEB: port 8083 opened
2019.01.19 23:42:08 3: telnetPort: port 7072 opened
2019.01.19 23:42:08 1: Including fhem.cfg
2019.01.19 23:43:18 2: Watchdog Client: deactivated
2019.01.19 23:43:18 2: Watchdog Client: Shutting down
2019.01.19 23:43:18 1: Shutdown executed
2019.01.19 23:43:18 0: Server shutdown
2019.01.19 23:41:31 1: Calling /usr/bin/perl ./contrib/commandref_join.pl -noWarnings, this may take a while
2019.01.19 23:41:31 1: ... rest of lines skipped.

Wäre es möglich den Watchdog inaktiv zu schalten um ungewollte Auslöser zu umgehen?

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #19 am: 20 Januar 2019, 01:08:07 »
zu früh gefreut.
es wird ca. alle 8 Minuten ein Reboot durchgeführt.
werde es Morgen/Heute näher untersuchen.

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #20 am: 20 Januar 2019, 16:01:04 »
1.Test
- raspbian "2018-11-13-raspbian-stretch-full" auf SD-Karte
- Fhem nach https://debian.fhem.de/ Manuell installiert
- bei beiden ein Update durchgeführt.
- Watchdog nach Anleitung 1.Poste installiert

Watchdog schlägt alle ca. 8Minuten zu.

2019.01.20 15:17:11 1: Including fhem.cfg
2019.01.20 15:17:11 3: WEB: port 8083 opened
2019.01.20 15:17:11 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:17:11 1: Including ./log/fhem.save
2019.01.20 15:17:12 1: usb create starting
2019.01.20 15:17:12 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:17:12 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:17:12 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:17:12 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:17:12 1: usb create end
2019.01.20 15:17:12 2: Watchdog Client: initialized
2019.01.20 15:17:12 3: NTFY return:  watchdog:active
2019.01.20 15:17:12 0: Featurelevel: 5.9
2019.01.20 15:17:12 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:677)
2019.01.20 15:21:10 0: Server shutdown
2019.01.20 15:21:10 2: Watchdog Client: Shutting down
2019.01.20 15:21:10 2: Watchdog Client: deactivated
2019.01.20 15:25:15 1: Including fhem.cfg
2019.01.20 15:25:15 3: WEB: port 8083 opened
2019.01.20 15:25:15 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:25:15 1: Including ./log/fhem.save
2019.01.20 15:25:16 1: usb create starting
2019.01.20 15:25:16 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:25:16 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:25:16 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:25:16 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:25:16 1: usb create end
2019.01.20 15:25:16 2: Watchdog Client: initialized
2019.01.20 15:25:16 3: NTFY return:  watchdog:active
2019.01.20 15:25:16 0: Featurelevel: 5.9
2019.01.20 15:25:16 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:762)
2019.01.20 15:29:14 0: Server shutdown
2019.01.20 15:29:14 2: Watchdog Client: Shutting down
2019.01.20 15:29:14 2: Watchdog Client: deactivated
2019.01.20 15:33:19 1: Including fhem.cfg
2019.01.20 15:33:19 3: WEB: port 8083 opened
2019.01.20 15:33:19 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:33:19 1: Including ./log/fhem.save
2019.01.20 15:33:19 1: usb create starting
2019.01.20 15:33:20 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:33:20 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:33:20 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:33:20 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:33:20 1: usb create end
2019.01.20 15:33:20 2: Watchdog Client: initialized
2019.01.20 15:33:20 3: NTFY return:  watchdog:active
2019.01.20 15:33:20 0: Featurelevel: 5.9
2019.01.20 15:33:20 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:813)
2019.01.20 15:37:18 0: Server shutdown
2019.01.20 15:37:18 2: Watchdog Client: Shutting down
2019.01.20 15:37:18 2: Watchdog Client: deactivated
2019.01.20 15:41:23 1: Including fhem.cfg
2019.01.20 15:41:23 3: WEB: port 8083 opened
2019.01.20 15:41:23 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:41:24 1: Including ./log/fhem.save
2019.01.20 15:41:24 1: usb create starting
2019.01.20 15:41:24 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:41:24 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:41:24 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:41:24 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:41:24 1: usb create end
2019.01.20 15:41:24 2: Watchdog Client: initialized
2019.01.20 15:41:24 3: NTFY return:  watchdog:active
2019.01.20 15:41:24 0: Featurelevel: 5.9
2019.01.20 15:41:24 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:860)

Braucht Fhem wirklich 2-3 Minuten zum Starten?? Es ist lange Zeit nicht erreichbar.

pi@raspberrypi:~ $ sudo systemctl status fhem.service
● fhem.service - FHEM Home Automation
   Loaded: loaded (/etc/systemd/system/fhem.service; enabled; vendor preset: ena
   Active: deactivating (final-sigkill) (Result: timeout)
  Process: 906 ExecStartPre=/bin/chown -R fhem:dialout /var/run/fhem (code=exite
  Process: 903 ExecStartPre=/bin/mkdir -p /var/run/fhem (code=exited, status=0/S
 Main PID: 908 (code=exited, status=0/SUCCESS); Control PID: 908
   Status: "stopping"
   CGroup: /system.slice/fhem.service

Jan 20 15:49:26 raspberrypi systemd[1]: Starting FHEM Home Automation...
Jan 20 15:53:26 raspberrypi systemd[1]: fhem.service: Start operation timed out.
Jan 20 15:55:26 raspberrypi systemd[1]: fhem.service: State 'stop-final-sigterm'
Jan 20 15:55:26 raspberrypi systemd[1]: fhem.service: Killing process 908 (n/a)

2019.01.20 15:45:22 0: Server shutdown
2019.01.20 15:45:22 2: Watchdog Client: Shutting down
2019.01.20 15:45:22 2: Watchdog Client: deactivated
2019.01.20 15:49:27 1: Including fhem.cfg
2019.01.20 15:49:27 3: WEB: port 8083 opened
2019.01.20 15:49:27 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:49:28 1: Including ./log/fhem.save
2019.01.20 15:49:28 1: usb create starting
2019.01.20 15:49:28 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:49:28 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:49:28 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:49:28 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:49:28 1: usb create end
2019.01.20 15:49:28 2: Watchdog Client: initialized
2019.01.20 15:49:28 3: NTFY return:  watchdog:active
2019.01.20 15:49:28 0: Featurelevel: 5.9
2019.01.20 15:49:28 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:908)
2019.01.20 15:53:26 0: Server shutdown
2019.01.20 15:53:26 2: Watchdog Client: Shutting down
2019.01.20 15:53:26 2: Watchdog Client: deactivated
2019.01.20 15:57:31 1: Including fhem.cfg
2019.01.20 15:57:31 3: WEB: port 8083 opened
2019.01.20 15:57:31 2: eventTypes: loaded 2 events from ./log/eventTypes.txt
2019.01.20 15:57:31 1: Including ./log/fhem.save
2019.01.20 15:57:32 1: usb create starting
2019.01.20 15:57:32 3: Probing ZWDongle device /dev/serial0
2019.01.20 15:57:32 1: ZWDongle: Can't open /dev/serial0: Permission denied
2019.01.20 15:57:32 3: Probing CUL device /dev/ttyAMA0
2019.01.20 15:57:32 1: CUL: Can't open /dev/ttyAMA0: Permission denied
2019.01.20 15:57:32 1: usb create end
2019.01.20 15:57:32 2: Watchdog Client: initialized
2019.01.20 15:57:32 3: NTFY return:  watchdog:active
2019.01.20 15:57:32 0: Featurelevel: 5.9
2019.01.20 15:57:32 0: Server started with 7 defined entities (fhem.pl:18343/2019-01-20 perl:5.024001 os:linux user:fhem pid:1051)

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #21 am: 20 Januar 2019, 18:23:17 »
2. Test
mit "2018-11-13-raspbian-stretch-lite", Verfahren wie ein Poste höher.
Auch hier schlägt der Watchdog zu.

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4460
    • tech_LogBuch
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #22 am: 29 Januar 2019, 09:45:55 »
War eine Woche unterwegs, kam nicht dazu, Forum zu lesen.
Besteht das Problem weiterhin? Ich sehe leider nicht mehr, was falsch sein könnte :/
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z
Informativ Informativ x 1 Liste anzeigen

Offline Solala0815

  • New Member
  • *
  • Beiträge: 22
Antw:Modul zum senden von keep-alive Meldungen an systemd (watchdog)
« Antwort #23 am: 03 Februar 2019, 09:59:05 »
Hallo Alexander,

herzlichen Dank für deine Hilfe.
Leider lese ich hier nur sporadisch mit.

Zitat
Besteht das Problem weiterhin?
Zu deiner Frage: Nein. Habe den Watchdog nicht mehr installiert.

 

decade-submarginal