Диагностика неисправностей контроллера Wiren Board
Введение
Если в работе контроллера 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
Кроме этого, есть сервисы, которые реализуют дополнительные функции:
- watchdog — сторожевой таймер
- wb-hwconf-manager — драйвер модулей расширения
- wb-rules — движок правил
Примеры типовых ситуаций:
- Контроллер перезагружается без видимых причин — может помочь анализ сообщений ядра (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 — это консольный инструмент, поэтому перед вводом команд подключитесь к SSH. Больше примеров смотрите в статье journalctl.
Посмотреть сообщения ядра (dmesg):
journalctl -k
Вывести на экран журнал драйвера wb-mqtt-serial:
journalctl -u wb-mqtt-serial
Сохранить журнал сервиса wb-rules в файл:
journalctl -u wb-rules >> /tmp/log-file.txt
О том, как скопировать файл с контроллера на компьютер, читайте в статье Просмотр файлов контроллера с компьютера.
Веб-интерфейс контроллера
Для просмотра системного журнала из веб-интерфейса контроллера, используйте инструмент Logs.
Выгрузка данных для отправки в техподдержку
Если вы не смогли самостоятельно найти причину неисправности и хотите обратиться в техническую поддержку — будет полезным к сообщению приложить архив с диагностической информацией.
Файл с данными представляет собой zip-архив, который содержит текстовые файлы с записями из системного журнала и служебной информацией о контроллере.