Ich habe seit einiger Zeit die Kombination mehrerer presenced mit einem collectord auf einem Raspi4 mit Buster und Perl 5.28.1 am laufen.
Es kommt jedoch immer wieder zu Ausfällen des collectord (liefert keine Daten mehr). Nach einem
sudo systemctl restart collectord
ist dann erstmal wieder alles fein.
Ein vorheriger status liefert mir allerdings auch keine Anhaltspunkte für einen Fehler
● collectord.service - collecting presence state from multiple presenced instanc
Loaded: loaded (/lib/systemd/system/collectord.service; enabled; vendor prese
Active: active (running) since Sat 2019-09-21 00:16:49 CEST; 6 days ago
Docs: http://commandref.fhem.de/#PRESENCE
https://wiki.fhem.de/wiki/PRESENCE#.C3.9Cberwachung_durch_verteilte_A
Main PID: 15016 (collectord)
Tasks: 10 (limit: 4915)
Memory: 24.4M
CGroup: /system.slice/collectord.service
└─15016 /usr/bin/perl /usr/bin/collectord -v -n -c /etc/collectord.co
Sep 21 10:42:06 ha collectord[15016]: [33B blob data]
Sep 21 10:42:06 ha collectord[15016]: [36B blob data]
Sep 21 10:42:06 ha collectord[15016]: [133B blob data]
Sep 21 10:42:06 ha collectord[15016]: [133B blob data]
Sep 21 10:42:07 ha collectord[15016]: [135B blob data]
Sep 21 10:42:26 ha collectord[15016]: [33B blob data]
Sep 21 10:42:26 ha collectord[15016]: [36B blob data]
Sep 21 10:42:26 ha collectord[15016]: [133B blob data]
Sep 21 10:42:26 ha collectord[15016]: [133B blob data]
Sep 21 10:42:26 ha collectord[15016]: [135B blob data]
Jemand eine Idee, wie ich das Problem lösen kann?
Leider nein, nur dass ich bei mir auf einem RPI3/Stretch ähnliche Effekte beobachte und deshalb hier mitlese...
Ich verwende das Produkt nicht, aber mal eine grundsätzliche Anmerkung zur fehlersuche in Linux:
1. Läuft das Produkt überhaupt?
ps aux | grep [c]ollectord
(Wobei ich nicht weiß, ob der Prozess auch so heißt ...
2. Was sagt das Logfile des Produktes
... wobei ich nicht weiß, ob der collectord ein Logfile schreibt
3. Was sagt das Log vom systemd
einfach mal journalctl verwenden
https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs (https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs)
4. Was sagen die Logfiles?
also die Üblichen Verdächtigen /var/log/syslog, /var/log/kern.log
Danke für deine allgemeinen Anmerkungen.
Aber
1. siehe oben
2. siehe oben
3. siehe oben
4. kann ich nochmal recherchieren.
Sorry, aber das Du 1-3 geguckt hast, ist nicht ersichtlich. Also wirklich Einträge?
Das systemctl Status von oben zeigt
1. Prozess ist noch da
2. letzte Logeinträge, analog zu journalctl
Zu 3. hast Du Recht, dass man das nicht sieht.
Es könnte sein, dass er sich an irgendwas verschluckt, wenn der presenced mal ein hci0 timeout bekommt.
gab's hierfür eigentlich jemals ne Lösung?
Bei mir sieht es im systemd log für die unit presenced so aus:
Jul 26 18:47:25 piOG presenced[345]: [42B blob data]
Jul 26 18:47:25 piOG presenced[345]: [32B blob data]
Jul 26 18:47:25 piOG presenced[345]: [39B blob data]
Jul 26 18:47:29 piOG presenced[345]: Use of uninitialized value $hcitool in scalar chomp at /usr/bin/presenced line 380, <GEN972> line 1.
Jul 26 18:47:29 piOG presenced[345]: Use of uninitialized value $hcitool in string at /usr/bin/presenced line 382, <GEN972> line 1.
Jul 26 18:47:30 piOG presenced[345]: Use of uninitialized value $hcitool in scalar chomp at /usr/bin/presenced line 380, <GEN975> line 1.
Jul 26 18:47:30 piOG presenced[345]: Use of uninitialized value $hcitool in string at /usr/bin/presenced line 382, <GEN975> line 1.
Jul 26 18:47:30 piOG presenced[345]: Use of uninitialized value $return in scalar chomp at /usr/bin/presenced line 394, <GEN975> line 1.
Jul 26 18:47:30 piOG presenced[345]: Use of uninitialized value $return in pattern match (m//) at /usr/bin/presenced line 396, <GEN975> line 1.
Jul 26 18:47:31 piOG presenced[345]: [42B blob data]
Jul 26 18:47:31 piOG presenced[345]: [32B blob data]
Jul 26 18:47:31 piOG presenced[345]: [39B blob data]
Jul 26 18:47:31 piOG presenced[345]: Use of uninitialized value $hcitool in scalar chomp at /usr/bin/presenced line 380, <GEN976> line 1.
Jul 26 18:47:31 piOG presenced[345]: Use of uninitialized value $hcitool in string at /usr/bin/presenced line 382, <GEN976> line 1.
Jul 26 18:47:31 piOG presenced[345]: Use of uninitialized value $return in scalar chomp at /usr/bin/presenced line 394, <GEN976> line 1.
Die Zeilen 379/380 sind diese:
$hcitool = qx(which hcitool);
chomp $hcitool;
warum das plötzlich ein leerer String ist, ist mir unklar.
pj
Ich habe es bei mir jetzt im Docker laufen. Das funktioniert.