Нужна технология дебага от Разработчиков WB

Добрый вечер.
На разных контроллерах время от времени перестают исполняться скрипты (без какой либо причины извне).
Нужна методология дебага данной проблемы, раньше на это закрывали глаза, но настало время разобраться.

Опишу 2 сегодняшних сбоя:
Пример №1
На контроллере одномоментно перестали исполняться 23 типовых ! скрипта, без каких либо воздействий извне, решилось перезагрузкой

Пример №2
На контроллере одномоментно перестали исполняться 11 типовых ! скриптов, без каких либо воздействий извне, 1 Скрипт продолжает работу (об был создан после остановки 11 скриптов)

Нежно решение - как быстро определить причину сбоя.

Вот список работающих служб

[ + ] avahi-daemon
[ - ] bluetooth
[ + ] busybox-klogd
[ + ] busybox-syslogd
[ + ] cgmanager
[ - ] cgproxy
[ + ] cron
[ + ] dbus
[ + ] dnsmasq
[ + ] hostapd
[ - ] hwclock.sh
[ + ] kmod
[ + ] netplug
[ + ] networking
[ + ] nginx
[ + ] ntp
[ - ] pppd-dns
[ + ] procps
[ + ] ssh
[ + ] udev
[ + ] watchdog
[ + ] wb-gsm-rtc
[ - ] wb-homa-adc
[ - ] wb-homa-gpio
[ + ] wb-homa-ism-radio
[ + ] wb-homa-w1
[ + ] wb-hwconf-manager
[ + ] wb-init
[ + ] wb-mqtt-confed
[ + ] wb-mqtt-db
[ + ] wb-mqtt-mbgate
[ - ] wb-mqtt-serial - данная служба остановлена!!
[ + ] wb-prepare
[ + ] wb-rules
[ + ] wb-watch-update
[ - ] wd_keepalive

root@wirenboard-APWZSDMN:~# service wb-mqtt-serial status
● wb-mqtt-serial.service - MQTT Driver for serial devices
Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Sun 2021-03-28 18:14:06 UTC; 27s ago
Process: 1999 ExecStart=/usr/bin/wb-mqtt-serial (code=exited, status=0/SUCCESS)
Main PID: 1999 (code=exited, status=0/SUCCESS)
Mar 28 18:14:05 wirenboard-APWZSDMN systemd[1]: Started MQTT Driver for serial devices.
Mar 28 18:14:06 wirenboard-APWZSDMN wb-mqtt-serial[1999]: ERROR: [serial] Error parsing config file: no devices defined in config. Nothing to do
root@wirenboard-APWZSDMN:~#

Ошибок в /var/log/messages нет, кроме этой
Mar 28 18:10:35 wirenboard-APWZSDMN daemon.info wb-mqtt-confed[449]: ERROR: Failed to read config file /etc/wb-webui.conf: open /etc/wb-webui.conf: no such file or directory

Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.018 WARN: Channel data limit is reached: channel power_status/Vin, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.026 WARN: Channel data limit is reached: channel wb-adc/A1, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.036 WARN: Channel data limit is reached: channel wb-adc/A2, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.050 WARN: Channel data limit is reached: channel wb-adc/A3, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.059 WARN: Channel data limit is reached: channel wb-adc/A4, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.067 WARN: Channel data limit is reached: channel wb-adc/Vin, row count 10201, limit 10000
Mar 28 13:25:18 wirenboard-APWZSDMN user.warn wb-mqtt-db[502]: 2021-03-28 13:25:18.077 WARN: Channel data limit is reached: channel wb-adc/5Vout, row count 10201, limit 10000
Mar 28 13:

Добрый день!

Правильно ли я понимаю, что скрипты, о которых идёт речь - это скрипты wb-rules?

Как именно вы понимаете, что они перестали исполняться?

Какая версия wb-rules? Это можно посмотреть в выводе dpkg -s wb-rules

Методика дебага: сначала понять в каком компоненте проблема. Например, можно попробовать перезапустить только wb-rules: systemctl restart wb-rules.

тут написано, что сервис wb-mqtt-serial не нашёл ни одного устройства у себя в конфигурации и не стал даже включаться. Вы так и хотели? Какое оборудование у вас подключено к контроллеру?

Вот устройства
https://tinyurl.com/yjoutryz
https://tinyurl.com/yh9n4byj

Да, скрипты wb-rules
У нас есть специальный информер - https://tinyurl.com/ygprw8nh - в нем не было обновления данных, они просто остановились

  • не срабатывало реле при замыкании контактов
    root@wirenboard-APWZSDMN:~# dpkg -s wb-rules
    Package: wb-rules
    Status: install ok installed
    Priority: optional
    Section: misc
    Installed-Size: 15362
    Maintainer: Nikita webconn Maslov n.maslov@contactless.ru
    Architecture: armhf
    Version: 2.6.0
    Depends: libc6 (>= 2.13)
    Breaks: wb-mqtt-confed (<< 1.0.2), wb-rules-system (<< 1.6.3)
    Conffiles:
    /etc/init.d/wb-rules 1579ece52285107cde1482052f47615d
    /etc/wb-configs.d/13wb-rules 1236e2e4343d949e0a21de865706c00b
    /etc/wb-rules/alarms.conf 2051dd214a6232c5e778c50e52d5fb6a
    /etc/wb-rules/rules.js 926c30d0fd63e272f6f9ad370dffb1b0
    Description: Wiren Board Rule Engine

Здравствуйте!

Можете попробовать обновить wb-rules? Сейчас актуальна версия 2.6.3, в ней есть исправления некоторых проблем, из-за которых сервис падал.

День добрый, при запуске apt-get upgrade пакет wb-rules не обновился - с чем это может быть связано?

apt-get upgrade wb-rules
Reading package lists… Done
Building dependency tree
Reading state information… Done
wb-rules is already the newest version (2.6.0).
Calculating upgrade… Done
The following packages have been kept back:
busybox-syslogd wb-configs wb-configs-stretch
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

При ручном тоже, не видит он новую версию

Правильно обновлять пакеты надо вот так:

# apt-get update
# apt-get upgrade

Так и было сделано.
Последняя версия - (2.6.0).

Прошу прощения, действительно, в репозиторий эта версия не была загружена. Загрузил, можете проверить ещё раз, пожалуйста?

Сейчас, норм.
Что нам даст это обновление? Какие баги им были исправлены?
Как дебажить проблему, если ситуация повторится, при том что данная проблема наблюдается на протяжении 4 лет во множестве релизов правил wb-rules?

Про одну из серьёзных исправленных проблем можно почитать тут:

По поводу советов насчёт дебага - очень сложно сказать, сильно зависит от ситуации. Не всегда корректно падения обрабатываются, мы знаем о некоторых таких случаях и стараемся по возможности исправлять. Общий совет: если совсем непонятно, что происходит, то пишите сюда, здесь часто бывают разработчики и смотрят, что не так. Как минимум, дадут совет, как обойти проблему, к тому же ваш запрос поспособствует выпуску исправлений.

Эти устройства подключаются через другую шину. Для устройств из /etc/wb-hardware.conf не нужен wb-mqtt-serial, так что с этим всё в порядке, wb-mqtt-serial может не запускаться в таких случаях.

Если вы позже добавите устройства в /etc/wb-mqtt-serial.conf через web-интерфейс, сервис запустится автоматически.

И покажите, кстати, версию ядра

uname -a

На первом
Linux wirenboard-AQMXJCR7 4.9.22-wb2 #2 Wed Nov 13 22:02:28 UTC 2019 armv5tejl GNU/Linux
На втором
Linux wirenboard-APWZSDMN 4.9.22-wb6 #2 SMP Tue Mar 9 09:47:37 UTC 2021 armv7l GNU/Linux

Обновил пакеты на 4 контроллерах, будем наблюдать. И все же вопрос стабильности работы скриптов не дает мне покоя, уж больно не надежная получается конструкция для управления оборудованием. Остается вthjznyjcnm подвисания.
Хочется более подробно раскрыть вопрос надежного оповещения и сбоях, сбора данных для дебага и оперативного устранения.

А команда

journalctl -u wb-rules

возвращает что-то- при “остановке” скриптов?

Не на всех версиях команда срабатывает. Если смотреть логи там пусто!

В старых версиязх wb-rules логи писались в /var/log/messages

К вопросу о логах Ошибка после обновления пакетов
Этот мой вопрос остался без ответа
Пить к лог файлам служб WB - здесь был раскрыт вопрос записи логов - и не было ответа про journalctl - или я просто не разобрался?