Структура ПО контроллера. В центре очередь сообщений MQTT, которая используется для обмена информацией между разными частями ПО (подробнее)

Введение

Если в работе контроллера Wiren Board возникают ошибки, то найти причину помогает анализ системного журнала.

В контроллерах Wiren Board используется системный сервис журналов journald, который обрабатывает события на запись в лог и сохраняет их в бинарные файлы. По умолчанию настроена очистка старых сообщений журнала, которая не позволит занять ему всё свободное пространство.

Подробнее про систему логирования в Linux можно почитать в статье на Хабре Использование journalctl для просмотра и анализа логов

Читать журналы можно двумя способами:

  • из консоли с помощью journalctl.


  • из веб-интерфейса с помощью инструмента Logs, который находится на вкладке Settings.

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

Что искать в журнале

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

Сильно поможет понимание архитектуры ПО контроллера, где в центре MQTT-брокер, в который пишут информацию различные сервисы wb:

  • wb-mqtt-adc — драйвер аналоговых входов
  • wb-mqtt-dac — драйвер аналоговых выходов
  • wb-mqtt-confed — конфигуратор в WebUI
  • wb-mqtt-db — хранение архива данных
  • wb-mqtt-gpio — драйвер для работы с GPIO
  • wb-mqtt-knx — мост KNX
  • wb-mqtt-mbgate — шлюз MQTT-ModbusRTU/TCP
  • wb-mqtt-opcua — шлюз MQTT-OPC UA
  • wb-mqtt-serial — драйвер для serial-устройств
  • wb-mqtt-w1 — драйвер для 1-Wire

Кроме этого, есть дополнительные сервисы, которые реализуют дополнительные функции:

Примеры типовых ситуаций:

  • Контроллер перезагружается без видимых причин — может помочь анализ сообщений ядра (dmesg).
  • Проблемы с serial-устройствами, которые подключены через RS-485 — смотрите сообщения драйвера wb-mqtt-serial.
  • Странно работают правила — будут интересны сообщения wb-rules.

Посмотреть, когда был запущен контроллер, можно командой:

# who -b
         system boot  Nov  4 10:39

Так же может быть полезным узнать дату и время запуска контроллера:

# last -x reboot
reboot   system boot  5.10.35-wb6      Thu Nov  4 13:43   still running
reboot   system boot  5.10.35-wb6      Thu Nov  4 10:39   still running

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

journalctl

 
Просмотр системного журнала с помощью journalctl

journalctl — это консольный инструмент, поэтому перед вводом команд подключитесь к SSH. Больше примеров смотрите в статье journalctl.

Посмотреть сообщения ядра (dmesg):

journalctl -k

Вывести на экран журнал драйвера wb-mqtt-serial:

journalctl -u wb-mqtt-serial

Сохранить журнал сервиса wb-rules в файл:

journalctl -u wb-rules >> /tmp/log-file.txt

О том, как скопировать файл с контроллера на компьютер, читайте в статье Просмотр файлов контроллера с компьютера.

Веб-интерфейс контроллера

 
Просмотр системного журнала в веб-интерфейсе контроллера Wiren Board

Для просмотра системного журнала из веб-интерфейса контроллера, используйте инструмент Logs.

Выгрузка данных для отправки в техподдержку

 
Страница сбора данных для диагностики

Если вы не смогли самостоятельно найти причину неисправности и хотите обратиться в техническую поддержку — будет полезным к сообщению приложить архив с диагностической информацией.

Файл с данными представляет собой zip-архив, который содержит текстовые файлы с записями из системного журнала и служебной информацией о контроллере.

Чтобы выгрузить диагностическую информацию:

  1. откройте в веб-интерфейсе инструмент Diagnostic collector.
  2. нажмите кнопку Collect diagnostic data
  3. дождитесь, пока архив сформируется и название кнопки изменится на Download
  4. нажмите на кнопку ещё раз и сохраните файл.