Возможные состояния анкеров в системе РТЛС
Красное состояние регистрируется системой после того как с анкером была установлена связь (переход в зеленое состояние) с последующей потерей этой связи (переход в красное). Синее состояние означает что с момента старта сервиса le с анкером сетевой связи не было, что нормально, т.к анкер снят. |
Симптомы: статус анкеров на сервере переводится в DOWN и их представление на карте меняется на красный цвет.
Причины - перевод анкера в статус DOWN происходит в автоматическом режиме, если в течении 15 секунд от него не пришло ни одного coap (udp/5683) пакета.
на странице системных логов проверить частоту (периодичность), адреса анкеров, которые переключаются в DOWN.
данный вариант диагностики применим, если статус сменяется единовременно для 1-2 анкеров
посмотреть адрес анкера, с которым потеряна связь (<NODE_IP>)
проверить пингом доступность адреса с хоста, где развернуто ПО РТЛС.
ping <NODE_IP> |
если адрес доступен проверить uptime анкера . Если время сброшено - произошел сброс анкера
telnet <NODE_IP> |

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

Надо учитывать что время в логе системных событий отображается в TZ пользовательского интерфейса, dump сетевого траффика собирается в текущем времени машины, где запущен сбор, при просмотре в wireshark время отображается в TZ пользовательского интерфейса |
установить пакет tcpdump на хост, где развернуто ПО РТЛС
запустить сбор данных coap траффика с сохранением в файл
tcpdump -i any port 5683 -w out.cap |
дождаться когда на сервере будет зарегистрировано событие смены статуса анкера в DOWN
остановить сбор логов
проверить данные сетевого траффика на момент регистрации события потери переключения статуса анкера в DOWN.
В штатном режиме в логе будут присутствовать записи, где source соответствует адресу анкера, в поле Info указан контекст с которым связаны данные (/tdoaraw в примере). На основании этого траффика принимается решение об активности сессии. MID - идентификатор сообщения, TKN - token observe сессии. Каждое сообщение будет присутствовать в логе несколько раз - при получении на физическом интерфейсе (отправке через физический интерфейс) и пересылка по внутренней сети docker.

Так же периодически ( раз в 10 сек) в сторону каждого анкера со стороны сервера отправляется уведомление об активности сессии (keepalive сообщения)

Статус анкера на сервере будет переведен в DOWN в случае, если со стороны анкера в течении 15 сек нет траффика, связанного с observe сессией. На стороне анкера сессия может быть закрыта, если не получены 3 keepalive сообщения от сервера.