Самопроизвольная перезагрузка

  1. mosquitto_sub -t ‘#’ -v -R 2>/dev/null | wc -l

    Спойлер

    0

  2. никак не получается. Если вставить 1 в 1 - ошибка. Если заменить хитрые двойные кавычки на обычные двойные, и так же с одинарными поступить, то запускается, но файл пустой. Если запустить без awk - подписка срабатывает, текст выводится. Если запустить с awk, но без вывода в файл - пустота.
    Минут 10 вывода:

Спойлер

$SYS/broker/heap/current 21032008
$SYS/broker/heap/maximum 21229832
$SYS/broker/store/messages/count 5098
$SYS/broker/store/messages/bytes 102591
$SYS/broker/clients/total 21
$SYS/broker/clients/total 22
$SYS/broker/store/messages/bytes 102587
$SYS/broker/heap/current 21070856
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 21106160
$SYS/broker/heap/maximum 21363088
$SYS/broker/store/messages/bytes 102580
$SYS/broker/heap/current 21142224
$SYS/broker/store/messages/bytes 102586
$SYS/broker/heap/current 21179016
$SYS/broker/store/messages/bytes 102590
$SYS/broker/heap/current 21213792
$SYS/broker/store/messages/bytes 102597
$SYS/broker/heap/current 21248624
$SYS/broker/store/messages/bytes 102592
$SYS/broker/heap/current 21282392
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 21318848
$SYS/broker/store/messages/bytes 102594
$SYS/broker/heap/current 21355472
$SYS/broker/store/messages/bytes 102591
$SYS/broker/heap/current 21392376
$SYS/broker/heap/maximum 21393120
$SYS/broker/store/messages/bytes 102589
$SYS/broker/heap/current 21426368
$SYS/broker/heap/maximum 21427064
$SYS/broker/store/messages/bytes 102590
$SYS/broker/heap/current 21460864
$SYS/broker/heap/maximum 21461608
$SYS/broker/heap/current 21494912
$SYS/broker/heap/maximum 21495656
$SYS/broker/store/messages/bytes 102587
$SYS/broker/heap/current 21530080
$SYS/broker/heap/maximum 21530824
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 21564576
$SYS/broker/heap/maximum 21565272
$SYS/broker/store/messages/bytes 102587
$SYS/broker/heap/current 21602264
$SYS/broker/heap/maximum 21602960
$SYS/broker/store/messages/bytes 102590
$SYS/broker/heap/current 21637768
$SYS/broker/heap/maximum 21638464
$SYS/broker/store/messages/bytes 102586
$SYS/broker/heap/current 21673104
$SYS/broker/heap/maximum 21673800
$SYS/broker/store/messages/bytes 102589
$SYS/broker/heap/current 21706032
$SYS/broker/heap/maximum 22003808
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 21741256
$SYS/broker/store/messages/bytes 102586
$SYS/broker/heap/current 21775920
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 21809184
$SYS/broker/store/messages/bytes 102596
$SYS/broker/heap/current 21842840
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 21875320
$SYS/broker/heap/maximum 22130512
$SYS/broker/heap/current 21908696
$SYS/broker/store/messages/bytes 102580
$SYS/broker/heap/current 21943640
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 21977744
$SYS/broker/store/messages/bytes 102579
$SYS/broker/heap/current 22012520
$SYS/broker/store/messages/bytes 102602
$SYS/broker/heap/current 22047184
$SYS/broker/store/messages/bytes 102595
$SYS/broker/heap/current 22082800
$SYS/broker/store/messages/bytes 102594
$SYS/broker/heap/current 22120096
$SYS/broker/store/messages/bytes 102608
$SYS/broker/heap/current 22156776
$SYS/broker/heap/maximum 22157520
$SYS/broker/heap/current 22192952
$SYS/broker/heap/maximum 22193648
$SYS/broker/heap/current 22229464
$SYS/broker/heap/maximum 22230208
$SYS/broker/store/messages/bytes 102601
$SYS/broker/heap/current 22264520
$SYS/broker/heap/maximum 22265216
$SYS/broker/heap/current 22301648
$SYS/broker/heap/maximum 22302392
$SYS/broker/store/messages/bytes 102597
$SYS/broker/heap/current 22337432
$SYS/broker/heap/maximum 22338128
$SYS/broker/store/messages/bytes 102599
$SYS/broker/heap/current 22372488
$SYS/broker/heap/maximum 22373232
$SYS/broker/store/messages/bytes 102600
$SYS/broker/heap/current 22408888
$SYS/broker/heap/maximum 22409584
$SYS/broker/store/messages/bytes 102598
$SYS/broker/heap/current 22445232
$SYS/broker/heap/maximum 22771864
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 22480904
$SYS/broker/store/messages/bytes 102607
$SYS/broker/heap/current 22516520
$SYS/broker/store/messages/bytes 102595
$SYS/broker/heap/current 22552360
$SYS/broker/store/messages/bytes 102601
$SYS/broker/heap/current 22588032
$SYS/broker/heap/current 22623200
$SYS/broker/heap/current 22658312
$SYS/broker/heap/maximum 22908296
$SYS/broker/store/messages/bytes 102596
$SYS/broker/heap/current 22694824
$SYS/broker/store/messages/bytes 102597
$SYS/broker/heap/current 22731336
$SYS/broker/store/messages/bytes 102603
$SYS/broker/heap/current 22766840
$SYS/broker/store/messages/bytes 102596
$SYS/broker/heap/current 22802792
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 22839864
$SYS/broker/store/messages/bytes 102590
$SYS/broker/heap/current 22874920
$SYS/broker/store/messages/bytes 102589
$SYS/broker/heap/current 22909920
$SYS/broker/heap/maximum 22910656
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 22946376
$SYS/broker/heap/maximum 22947120
$SYS/broker/store/messages/bytes 102584
$SYS/broker/heap/current 22982720
$SYS/broker/heap/maximum 22983416
$SYS/broker/store/messages/bytes 102587
$SYS/broker/heap/current 23018672
$SYS/broker/heap/maximum 23019416
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 23053728
$SYS/broker/heap/maximum 23054472
$SYS/broker/store/messages/bytes 102596
$SYS/broker/heap/current 23090632
$SYS/broker/heap/maximum 23091376
$SYS/broker/store/messages/bytes 102594
$SYS/broker/heap/current 23128768
$SYS/broker/heap/maximum 23129464
$SYS/broker/store/messages/bytes 102597
$SYS/broker/heap/current 23164216
$SYS/broker/heap/maximum 23164912
$SYS/broker/store/messages/bytes 102588
$SYS/broker/heap/current 23199720
$SYS/broker/heap/maximum 23200440
$SYS/broker/store/messages/bytes 102594
$SYS/broker/heap/current 23234944
$SYS/broker/heap/maximum 23557864
$SYS/broker/store/messages/bytes 102592
$SYS/broker/heap/current 23270056
$SYS/broker/heap/current 23305616
$SYS/broker/store/messages/bytes 102598
$SYS/broker/heap/current 23340392
$SYS/broker/store/messages/bytes 102593
$SYS/broker/heap/current 23374944
$SYS/broker/store/messages/bytes 102603
$SYS/broker/heap/current 23410784
$SYS/broker/heap/current 23445896
$SYS/broker/heap/maximum 23691512
$SYS/broker/store/messages/bytes 102602
$SYS/broker/heap/current 23480840
$SYS/broker/store/messages/bytes 102609
$SYS/broker/heap/current 23516568
$SYS/broker/store/messages/bytes 102608
$SYS/broker/heap/current 23551288
$SYS/broker/store/messages/bytes 102600
$SYS/broker/heap/current 23586736
$SYS/broker/store/messages/bytes 102601
$SYS/broker/heap/current 23622744
$SYS/broker/store/messages/bytes 102599
$SYS/broker/heap/current 23658752

Думаю, коллега имел в виду вот это: Mosquitto - 100% CPU, не зайти по ssh, имещиеся сесси повисли - #19 by BrainRoot

Смысл в том чтобы понять количество публикаций, за какое-то времы.
Его ж, в общем, можно получить из SYS топиков брокера, но так, подпиской - нагляднее.

В общем, есть изменения. 3 дня был отключен HAOS (на физически стороннем сервере на Proxmox), перезапусков правил не зафиксировано. Хотел его снова включить, но система сломалась и никакие рекомендации не помогли. В итоге откатил до версии месячной давности, буду наблюдать. (Это на текущий момент).
Так же поставил чистую HAOS последней версий, через несколько дней сделаю восстановление сервисов и тоже посмотрю результат. Повлияет ли версия на результат.

Но в любом случае крошится москит, правила или кто бы то ни был - не должны. Максимум отказ в обслуживании сильно прожорливым.

Судя по логам, проблема оказалась не в твоих правилах (wb-rules) и не в модулях опроса, а в системном MQTT-брокере (mosquitto).

В текущей версии mosquitto есть известный баг: брокер «течёт» по оперативной памяти, если к нему постоянно подключаются устройства с генерацией случайных имен (Client ID). У нас в сети два таких устройства:

  1. Агент метрик Wiren Board (wb-cloud-agent-metrics) — переподключался 1142 раза за лог, каждый раз с новым ID.

  2. Устройство с IP 192.168.10.50 — тоже постоянно рвет связь и генерирует новые ID при реконнекте.

Из-за этого mosquitto забивает свой лимит памяти (100 МБ) примерно за 11 часов, после чего уходит в жесткую перезагрузку из-за нехватки памяти (Out of Memory) и отбрасывает всех клиентов.

План действий:

1. Убираем утечку

Что у тебя крутится на IP 192.168.10.50? Если это дашборд, Node-RED, Home Assistant или свой скрипт, можно попробовать прописать ему фиксированный Client ID (если проблема все в этом устройстве)

2. Как вариант, можно поднять лимит памяти для брокера. Проблему это не решит, но будет крашиться реже (по желанию).

Понятно. (Перезапуск сервиса правил это объясняет, тут нет дополнительного бага?)

192.168.10.50 - HAOS. На счёт Client ID поищу. Это основная панель управления, проблематично отказаться от неё. Почему рвётся с ней - не понятно, в одной локальной сети и с правилами firewall всё верно. wb-cloud-agent-metrics - да, странное поведение замечал.

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

Дополнено: Client ID в HA нашёл, установил, спасибо.

На сегодняшний день перезапусков правил не было. Сегодня утром обновил HAOS на последнюю версию.

Днём вылезли повторные проблемы с записью в порт, предшествовала этому запись:

Спойлер
17-06-2026 14:26:55.428 ERROR: [wbgo_mqtt] MQTT error: connection lost before Subscribe completed
17-06-2026 14:26:55.427 ERROR: [wbgo_mqtt] MQTT error: connection lost before Subscribe completed
17-06-2026 14:26:55.427 ERROR: [wbgo_mqtt] MQTT error: connection lost before Subscribe completed
17-06-2026 14:26:55.426 ERROR: [wbgo_mqtt] MQTT error: connection lost before Subscribe completed
17-06-2026 14:26:55.396 INFO: [wbgo_mqtt] rules-wirenboard-AM75Z4F3-2340: MQTT connection established
17-06-2026 14:26:55.395 WARNING: [wbgo_mqtt] Cleaning up token queue
17-06-2026 14:26:55.394 WARNING: [wbgo_mqtt] MQTT connection lost: EOF

(Сегодня свет отключили и там стал активно переключатся один из выходов, полагаю в этом причина активизации проблемы)

приложен диагностический архив, доступен только сотрудникам поддержки
(542,4 КБ)

Ситуация похожа на баг, я передал информацию разработчикам, как будет ответ - я вам сразу сообщу

Добрый день!

В HA я заменил client id несколько дней назад, работал без сбоев. Сегодня ю перезапуски правил снова вернулись.

Добрый день!

Разработчики пока разбираются с данной ситуацией. Client ID на данный момент установлен? Как временная мера, можно увеличить лимит памяти, но это проблему не решит, а лишь замедлит частоту перезапусков

В настройках HA ClientID указан. Как он применяется сервисом - тут уже зуб не дам.

Забыл написать: помимо правил в некоторых случаях ещё отваливается SNMP сервис - связь с ИБП теряется до ручного перезапуска wb-mqtt-snmp. За всё время перезапусков - было трижды, в частности вчера вечером.

приложен диагностический архив, доступен только сотрудникам поддержки
(545,6 КБ)

Спойлер

root@wirenboard-AM75Z4F3:~# systemctl status wb-mqtt-snmp
● wb-mqtt-snmp.service - MQTT Driver for snmp devices
Loaded: loaded (/lib/systemd/system/wb-mqtt-snmp.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2026-06-11 10:57:50 MSK; 1 weeks 1 days ago
Main PID: 4127 (wb-mqtt-snmp)
Tasks: 11 (limit: 4675)
Memory: 17.4M
CPU: 20min 32.687s
CGroup: /system.slice/wb-mqtt-snmp.service
└─4127 /usr/bin/wb-mqtt-snmp -syslog

Jun 18 12:30:22 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: WARNING: MQTT connection lost
Jun 18 12:30:22 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: INFO: MQTT connection established
Jun 18 12:30:22 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: WARNING: MQTT connection lost
Jun 18 12:30:22 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: INFO: MQTT connection established
Jun 18 12:30:22 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: WARNING: MQTT connection lost
Jun 18 12:30:23 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: INFO: MQTT connection established
Jun 18 23:25:10 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: WARNING: MQTT connection lost
Jun 18 23:25:11 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: INFO: MQTT connection established
Jun 19 10:17:17 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: WARNING: MQTT connection lost
Jun 19 10:17:18 wirenboard-AM75Z4F3 wb-mqtt-snmp[4127]: INFO: MQTT connection established

Но связи нет, топиков нет. snmp_192.168.10.55_public/upsBatPBatVoltage … incomplete

Я могу подключиться удаленно к контроллеру, посмотреть еще со своей стороны. Можете кинуть приглашение support@wirenboard.com. И еще вопрос, есть ли возможность провести тест, отключить HA на пол часа, посмотреть как ведет себя система?

Отправил приглашение. Перезагружать нежелательно, но если потребуется, то имейте ввиду, что время перезагрузки может занять минут 5 из-за перезапуска сервера с роутером и модемом.

Прошлая проверка показала, что при отключенном HA перезапусков не было. Конкретно в эту минуту сам сервер я остановить не могу, но если только интеграцию временно отключить.

Отключите тогда интеграцию, пожалуйста

и мне нужен логин и пароль, чтоб подключиться по ssh, можете написать в личку

Запустите, пожалуйста, обратно HA и отпишите как включите

Включил

Посмотрел, что именно нагружает брокер.

При выключенном HAOS heap current брокера стоит на месте, а вот после того как вы его включили линейно начал расти.

HAOS сейчас подписан очень широко, судя по всему — фактически на всё дерево /devices/# — и из-за этого получает два тяжёлых потока: разовый массив описаний всех контролов (meta) при подключении и, главное, постоянный поток значений от электросчётчиков (wb-map6s_55, wb-map6s_116) и токовых входов (wb-mai6_119), которые обновляются каждую секунду по множеству каналов. Этот непрерывный поток брокер прогоняет на подписки HA без остановки, и на этом память брокера утекает.

Что нужно сделать в HA, чтобы память росла кратно медленнее (по убыванию эффекта):

Главное — сузить подписку. Подпишите HA только на те топики, что реально используются в HA, вместо широкого /devices/#. Цель — чтобы число подписок брокера вернулось к ~568 (как при выключенном HA), а не ~1091.

Эти настройки убирают то, что провоцирует проблему, и, скорее всего, сильно замедлят рост памяти — возможно, настолько, что брокер перестанет падать.

p.s. По поводу /devices/# наверняка я не знаю, это предположение.

Не забудьте удалить меня из организации в облаке.

  1. А есть надежда на исправление проблемы с самим брокером? Потому что временно то урезать можно, но интересны перспективы. Сейчас эти данные выводятся как информационные на страницах HA. Да и вполне возможно расширение системы.
  2. По SNMP сервису какие-то работы будут проводится? Я его специально не перезапускал пока что.
  3. По зависающим выходам тоже пока нет информации? Очень хаотичная штука, фиг знает как отслеживать, но она имела место до использования HA.

/devices/# не используется, прописаны нужные топики в конфигурации. Но там почти всё дублируется))) и кстати, раньше оно работало. Толи в HA что-то изменилось в ядре, толи свою лепту вносит сервис метрик облака.

1 и 2 - Передал инфу разработчикам

3. Можете напомнить, пожалуйста, о чем речь? В переписке не увидел(

Вот об этом речь.

У меня по логу такое иногда бывает:

Спойлер

08-06-2026 09:01:49.010 INFO: [rule info] Повторная запись выхода “WaterVentil2” в 0: wb-mio-gpio_183:1/K10
08-06-2026 09:01:49.008 INFO: [rule info] Отключен “WaterVentil2”: wb-mio-gpio_183:1/K10
08-06-2026 09:01:48.392 INFO: [rule info] Повторная запись выхода “ModeInd” в 0: wb-gpio/EXT4_K4
08-06-2026 09:01:48.392 INFO: [rule info] Отключен “ModeInd”: wb-gpio/EXT4_K4
08-06-2026 09:01:48.390 INFO: [rule info] Повторная запись выхода “AlarmInd” в 0: wb-gpio/EXT4_K8

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