WB-rules не стартуют после перезагрузки контроллера

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

Любая перезагрузка оставляет меня без движка правил. Так как перезагружается нечасто, не могу сказать, что послужило причиной.
Запуск в терминале решает проблему, но хочется починить автозапуск. Помогите, пожалуйста.
diag_output_AOLSP65S_2022-09-26-10.zip (170.3 КБ)
Диагностический архив во вложении.

Добрый день.
покажите вывод

systemctl status wb-rules

Вот такая штука повторяется несколько раз:

root@wirenboard-AOLSP65S:~# systemctl status wb-rules
● wb-rules.service - MQTT Rule engine for Wiren Board
Loaded: loaded (/lib/systemd/system/wb-rules.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-22 18:27:16 UTC; 4 days ago
Main PID: 6630 (wb-rules)
CGroup: /system.slice/wb-rules.service
└─6630 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /

сен 26 19:17:44 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turn off HC
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Temperature 21.2 is above the 11
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turning OFF the heater
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Heater is already off. Keep it of
сен 26 19:17:56 wirenboard-AOLSP65S sSMTP[14105]: Unable to locate mail
сен 26 19:17:56 wirenboard-AOLSP65S sSMTP[14105]: Cannot open mail:25
сен 26 19:17:56 wirenboard-AOLSP65S wb-rules[6630]: ERROR: [rule error] error sending email to promaxyu

                                                   ssmtp: Cannot open mail:25

сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Temperature 21.1 is above the 11
сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turning OFF the heater
сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Heater is already off. Keep it of
lines 1-19/19 (END)…skipping…
● wb-rules.service - MQTT Rule engine for Wiren Board
Loaded: loaded (/lib/systemd/system/wb-rules.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-09-22 18:27:16 UTC; 4 days ago
Main PID: 6630 (wb-rules)
CGroup: /system.slice/wb-rules.service
└─6630 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /e

сен 26 19:17:44 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turn off HC
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Temperature 21.2 is above the 11
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turning OFF the heater
сен 26 19:17:46 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Heater is already off. Keep it off
сен 26 19:17:56 wirenboard-AOLSP65S sSMTP[14105]: Unable to locate mail
сен 26 19:17:56 wirenboard-AOLSP65S sSMTP[14105]: Cannot open mail:25
сен 26 19:17:56 wirenboard-AOLSP65S wb-rules[6630]: ERROR: [rule error] error sending email to promaxyur

                                                   ssmtp: Cannot open mail:25

сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Temperature 21.1 is above the 11
сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Turning OFF the heater
сен 26 19:18:13 wirenboard-AOLSP65S wb-rules[6630]: INFO: [rule info] Heater is already off. Keep it off
~
~
~
~
~
~
~
~
~
~
~
~
lines 1-19/19 (END)…skipping…

Перезапустите пожалуйста контроллер и дайте диагностический архив.

Создание архива описано в инструкции.

Здравствуйте!
Перезапустил, собрал архив, ничего не стартуя руками.1.zip (133.0 КБ)

Вижу,

-- Reboot --
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: Dependency failed for MQTT Rule engine for Wiren Board.
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: wb-rules.service: Job wb-rules.service/start failed with result 'dependency'.

При этом:

-- Reboot --
сен 27 14:12:24 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
сен 27 14:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
сен 27 14:12:32 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:32 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
сен 27 14:12:38 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
сен 27 14:12:38 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:38 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
сен 27 14:12:38 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
сен 27 14:12:40 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
сен 27 14:12:41 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:41 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
сен 27 14:12:43 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
сен 27 14:12:43 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:43 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
сен 27 14:12:43 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
сен 27 14:12:44 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
сен 27 14:12:44 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:44 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
сен 27 14:12:46 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
сен 27 14:12:48 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE

брокер постоянно перезапускается!
Это точно неправильно и является, скорее всего причиной падения wb-rules при запуске. persistense в конфиге /etc/mosquitto/mosquitto.conf имеет какое значение?

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

Нужно его отключить?

Да, поменяйте на false и попробуйте перезапустить контроллер.

Здравствуйте!
Поменял на false


И ребутнул. Не помогло. Прикладываю новый диагностический архив. Куда еще копать порекомендуете?1310.zip (132.3 КБ)

Видно, что зависит от wb-hwconf-manager.service wb-modules.service
С прошлого раза нет изменений, все так же systemd считает брокер не запущенным:

окт 13 17:11:37 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
окт 13 17:11:42 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
окт 13 17:11:42 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:11:42 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
окт 13 17:11:42 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
окт 13 17:11:42 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
окт 13 17:11:43 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:11:43 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
окт 13 17:11:44 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
окт 13 17:11:44 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:11:44 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
окт 13 17:11:44 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
окт 13 17:11:44 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
окт 13 17:11:46 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.

в /lib/systemd/system/mosquitto.service нет ничего кастомного?
Ну и посмотирте, пожалуйста, меняется ли номер процесса у /usr/sbin/mosquitto

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

Кастового ничего нет.
Номер процесса, меняется, насколько я понимаю.


Вооот. Надо смотреть почему mosquitto перезапускается, причина тут.

Так я ж его перезапустил в этот раз. Номер процесса должен был сохраниться или что?

Нет, после перезапуска - конечно нет.
Наверно я невнимательно посмотрел.
В предыдущем моем сообщениее видно кусок лога где как раз mosquitto несколько раз перезапускается.
Вот нормальный запуск:

journalctl -u mosquitto --since "20 min ago"
-- Journal begins at Tue 2022-10-25 07:01:59 UTC, ends at Mon 2022-11-07 08:27:20 UTC. --
Nov 07 08:14:41 wirenboard-AQASN7R6 systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 07 08:14:41 wirenboard-AQASN7R6 systemd[1]: mosquitto.service: Succeeded.
Nov 07 08:14:41 wirenboard-AQASN7R6 systemd[1]: Stopped Mosquitto MQTT Broker.
Nov 07 08:14:41 wirenboard-AQASN7R6 systemd[1]: mosquitto.service: Consumed 31min 13.532s CPU time.
-- Boot 2156134b034d420ca3bb8a33cfdf3bc2 --
Nov 07 08:15:24 wirenboard-AQASN7R6 systemd[1]: Starting Mosquitto MQTT Broker...
Nov 07 08:15:25 wirenboard-AQASN7R6 mosquitto[486]: 1667808925: Loading config file /etc/mosquitto/conf.d/00default_listener.conf
Nov 07 08:15:25 wirenboard-AQASN7R6 mosquitto[486]: 1667808925: Loading config file /etc/mosquitto/conf.d/10listeners.conf
Nov 07 08:15:25 wirenboard-AQASN7R6 mosquitto[486]: 1667808925: Loading config file /etc/mosquitto/conf.d/20bridges.conf
Nov 07 08:15:25 wirenboard-AQASN7R6 systemd[1]: Started Mosquitto MQTT Broker.

То есть после запуска контроллера запущен и не останавливается. У вас, если смотреть в лог из архива:

окт 13 17:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
окт 13 17:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
окт 13 17:12:29 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
окт 13 17:12:29 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:12:29 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
окт 13 17:12:30 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
окт 13 17:12:30 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:12:30 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.
окт 13 17:12:30 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Failed with result 'exit-code'.
окт 13 17:12:31 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Service hold-off time over, scheduling restart.
окт 13 17:12:31 wirenboard-AOLSP65S systemd[1]: Stopped Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:12:31 wirenboard-AOLSP65S systemd[1]: Starting Mosquitto MQTT v3.1/v3.1.1 Broker...
окт 13 17:12:32 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
окт 13 17:12:32 wirenboard-AOLSP65S systemd[1]: Failed to start Mosquitto MQTT v3.1/v3.1.1 Broker.
окт 13 17:12:32 wirenboard-AOLSP65S systemd[1]: mosquitto.service: Unit entered failed state.

перезапуск постоянный.
Поэтому не надо перезапускать его, надо проверить - меняется ли номер процесса вместе с появлением в логах записей. И что сам брокер в свой лог пишет.

Здравствуйте! Получилось ли решить проблему?

Добрый день!

Не решил, кстати. Руками перезагружаю.
Если можно, поясните, пожалуйста, где смотреть лог брокера и что именно в нем искать?

штатные логи расположены в /var/log/mosquitto
Искать нужно причину, сам ли перезапускается или, например, от недостатка ресурсов.

mosquitto.log.1 (110.1 КБ)
Здравствуйте! Приложил логи за вчера из этой папки.
Больше всего записей вида
“1669740942: New client connected from 83.220.237.63 as contactless-DLA2jJoYdY (c1, k60).
1669740961: Socket error on client contactless-**********, disconnecting.”,
но есть и другие.
Как понять сам он перезапускается или ресурсов не хватает?

Я вижу 12 перезапусков.

А кому приннадлежат разные адреса, с которых происходяит соединения?
Такое впечателение что досуп к брокеру открыт из интернета.

Есть ли упоминания в системных логах о брокере? Возможно, OOM его закрывает?