Настройка persistance в файле mosquitto.conf

Добрый день, периодически сталкиваемся с проблемой работы Москитто со своей БД.
Одна из ошибок, что у москитто нет прав на директорию /var/lib/mosquitto, решается изменением владельца на москитто, причины такого поведения не выявлены.
Вторая ошибка, невозможность открыть БД без описания причин в логах

Nov 08 09:19:50 WB-AGVVWB6R systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /usr/share/wb-configs/mosquitto/30limits.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/00default_listener.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/10listeners.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/20bridges.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/30limits.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/bridge.conf
Nov 08 09:19:55 WB-AGVVWB6R mosquitto[6384]: 1731046790: Error: Couldn't open database.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Failed with result 'exit-code'.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: Failed to start Mosquitto MQTT Broker.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Consumed 4.069s CPU time.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Scheduled restart job, restart counter is at 7983.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: Stopped Mosquitto MQTT Broker.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Consumed 4.069s CPU time.

Помогает удаление БД и перезапуск Москитто
По дефолту в настройках москитто в mosquitto.conf стоит
persistance true
Подскажите, это на что-то влиет, на какие-то родные wb-утилиты, сервисы и тд? Или это можно безопасно поставить в false, и родной вайренбордовский софт будет работать штатно без mosquitto.db?

Добрый день
Для диагностики проблемы пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в документации.

Кейс: У нас чистый WIRENBOARD 7+, на нем все ПО обновлено, и следующий вопрос ниже, дайте по нему комментарии, пожалуйста

По дефолту в настройках москитто в mosquitto.conf стоит
persistance true
Подскажите, это на что-то влиет, на какие-то родные wb-утилиты, сервисы и тд? Или это можно безопасно поставить в false, и родной вайренбордовский софт будет работать штатно без mosquitto.db?

Добрый день,

Прошу уточнить, с какой целью вы хотите установить значение false по умолчанию

Если просто, то исключить причину, по которой не работал Москитто(Москитто постоянно ребутался - restart counter is at 7983.

Nov 08 09:19:50 WB-AGVVWB6R systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /usr/share/wb-configs/mosquitto/30limits.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/00default_listener.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/10listeners.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/20bridges.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/30limits.conf
Nov 08 09:19:50 WB-AGVVWB6R mosquitto[6384]: 1731046790: Loading config file /etc/mosquitto/conf.d/bridge.conf
Nov 08 09:19:55 WB-AGVVWB6R mosquitto[6384]: 1731046790: Error: Couldn't open database.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Main process exited, code=exited, status=1/FAILURE
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Failed with result 'exit-code'.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: Failed to start Mosquitto MQTT Broker.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Consumed 4.069s CPU time.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Scheduled restart job, restart counter is at 7983.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: Stopped Mosquitto MQTT Broker.
Nov 08 09:19:55 WB-AGVVWB6R systemd[1]: mosquitto.service: Consumed 4.069s CPU time.

Наш софт, который мы используем на контроллере, после установки соединения с Москитто заново подписывается на нужные топики, т.е. москитто не нужно будет доставать эту инфу из БД, после рестарта.

Вот еще одна проблема, возможно связанная как раз с persistance false. В логах москитто постоянно устанавливается и сразу закрывается соединение.

Nov 18 10:21:26 wirenboard-A24QN5UD mosquitto[5239]: 1731914486: New client connected from ::ffff:127.0.0.1:40686 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:27 wirenboard-A24QN5UD mosquitto[5239]: 1731914487: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:29 wirenboard-A24QN5UD mosquitto[5239]: 1731914489: New client connected from ::ffff:127.0.0.1:40688 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:30 wirenboard-A24QN5UD mosquitto[5239]: 1731914490: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:32 wirenboard-A24QN5UD mosquitto[5239]: 1731914492: New client connected from ::ffff:127.0.0.1:40690 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:33 wirenboard-A24QN5UD mosquitto[5239]: 1731914493: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:35 wirenboard-A24QN5UD mosquitto[5239]: 1731914495: New client connected from ::ffff:127.0.0.1:40692 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:36 wirenboard-A24QN5UD mosquitto[5239]: 1731914496: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:38 wirenboard-A24QN5UD mosquitto[5239]: 1731914498: New client connected from ::ffff:127.0.0.1:40694 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:38 wirenboard-A24QN5UD mosquitto[5239]: 1731914498: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:41 wirenboard-A24QN5UD mosquitto[5239]: 1731914501: New client connected from ::ffff:127.0.0.1:40700 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:42 wirenboard-A24QN5UD mosquitto[5239]: 1731914502: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:44 wirenboard-A24QN5UD mosquitto[5239]: 1731914504: New client connected from ::ffff:127.0.0.1:40704 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:44 wirenboard-A24QN5UD mosquitto[5239]: 1731914504: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:47 wirenboard-A24QN5UD mosquitto[5239]: 1731914507: New client connected from ::ffff:127.0.0.1:40706 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:48 wirenboard-A24QN5UD mosquitto[5239]: 1731914508: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:50 wirenboard-A24QN5UD mosquitto[5239]: 1731914510: New client connected from ::ffff:127.0.0.1:40708 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:51 wirenboard-A24QN5UD mosquitto[5239]: 1731914511: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:53 wirenboard-A24QN5UD mosquitto[5239]: 1731914513: New client connected from ::ffff:127.0.0.1:40710 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:54 wirenboard-A24QN5UD mosquitto[5239]: 1731914514: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:56 wirenboard-A24QN5UD mosquitto[5239]: 1731914516: New client connected from ::ffff:127.0.0.1:40714 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:21:57 wirenboard-A24QN5UD mosquitto[5239]: 1731914517: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:21:59 wirenboard-A24QN5UD mosquitto[5239]: 1731914519: New client connected from ::ffff:127.0.0.1:40718 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:00 wirenboard-A24QN5UD mosquitto[5239]: 1731914520: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:22:02 wirenboard-A24QN5UD mosquitto[5239]: 1731914522: New client connected from ::ffff:127.0.0.1:40722 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:03 wirenboard-A24QN5UD mosquitto[5239]: 1731914523: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:22:05 wirenboard-A24QN5UD mosquitto[5239]: 1731914525: New client connected from ::ffff:127.0.0.1:40724 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:06 wirenboard-A24QN5UD mosquitto[5239]: 1731914526: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:22:08 wirenboard-A24QN5UD mosquitto[5239]: 1731914528: New client connected from ::ffff:127.0.0.1:40726 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:09 wirenboard-A24QN5UD mosquitto[5239]: 1731914529: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:22:11 wirenboard-A24QN5UD mosquitto[5239]: 1731914531: New client connected from ::ffff:127.0.0.1:40728 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:12 wirenboard-A24QN5UD mosquitto[5239]: 1731914532: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.
Nov 18 10:22:14 wirenboard-A24QN5UD mosquitto[5239]: 1731914534: New client connected from ::ffff:127.0.0.1:40730 as wb-mqtt-homeui-UwIw9Beeph (p2, c1, k60).
Nov 18 10:22:15 wirenboard-A24QN5UD mosquitto[5239]: 1731914535: Client wb-mqtt-homeui-UwIw9Beeph closed its connection.

На самом контроллере не нашел сервиса wb-mqtt-homeui или чего то подобного. Что это за утилита постоянно пытается подключиться к москитто? Так же на веб-морде не отображаются устройства и каналы mqtt, это скорее всего тоже связано с persistance false?

Добрый день!

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

Nov 08 09:19:55 WB-AGVVWB6R mosquitto[6384]: 1731046790: Error: Couldn't open database.

Возможные причины:

  • Отсутствие файла базы данных;
  • Некорректные права доступа.

Постоянные переподключения также могут указывать на некорректную конфигурацию или иную ошибку.

Для более детального анализа прошу вас предоставить диагностический файл.

Добрый день, удалось ли решить вопрос?

Добрый день, нет.
БД Москитто была создана. Владельцем и группой были mosquitto, про права не смогу сказать, не обращал внимание.
На стенде раздуть БД до большого размера пока не получилось.
На боевых контроллерах везде поставили persistance false и эта проблема пока не возвращалась.
Но прошу вас проверить у себя, что при использовании persistance false у вас не пропадают устройства с вебморды и топики из “каналы mqtt”.

Добрый день!

Жалоб на подобное поведение не поступало.

Добрый день, проявлялись ли проблемы с mosquitto?