Перейти к содержанию

Система логирования#

Инструкция по сбору логов#

Сбор логов необходим для:

  • Предоставления информации технической поддержки VisionLabs для составления тикета на поиск проблемы;
  • Самостоятельного поиска ошибок.

Для получения полной информации о нештатной ситуации при работе Access необходимо подготовить и передать информацию представителю VisionLabs о:

Файл настроек#

Файл настроек – JSON файл, который содержит информацию об используемых компонентах в Access.

Файл настроек становится доступен для экспорта после создания в Access компонента.

1․ После создания любого из 4-х типов компонентов необходимо нажать на справа от аватара пользователя и нажать кнопку "Экспортировать настройки" (Рисунок 8).

Экспорт настроек
Рисунок 8. Экспорт настроек

При этом произойдет загрузка JSON файла с именем vl-access_setting.json.

2․ Найдите JSON на локальной машине.

Для Linux-систем по умолчанию /home/<username>/Downloads.

3․ Переименуйте файл настроек в зависимости от основных используемых сервисов и устройств, например:

bolid+gate+fast.json

Логи контейнеров#

Файлы логов контейнеров содержат всю информацию о работе Access от момента запуска (docker compose up) до создания логов, при условии активности контейнеров.

1․ Откройте в консоли директорию Access.

Для самопроверки удостоверьтесь, что в этой директории есть /db и docker-compose.yml (Рисунок 9).

Корректная директория
Рисунок 9. Корректная директория

2․ Выполните команды для записи логов контейнеров worker и fastapi:

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

docker-compose logs worker &> worker_<components_names>.log
docker-compose logs fastapi &> fastapi_<components_names>.log

3․ Проверьте наличие созданных файлов .log в той же директории.

Файл .env#

Файл .env находится в корневой папке дистрибутива (там же где docker-compose.yml), но может не отображаться в UI по умолчанию.

1․ Найдите файл .env для передачи представителю VisionLabs.

Информация о рабочем окружении#

Сверьте аппаратные и программные свойства рабочей машины с минимальными (см. Требования).

Для проверки требований выполните команды просмотра:

1․ Версия ОС локальной машины:

hostnamectl

2․ Версия docker/docker-compose:

docker --version
docker-compose --version

3․ Информация о аппаратных характеристиках:

cat /proc/cpuinfo | grep "model name"

4․ Объем свободной оперативной памяти:

free -h

5․ Объем свободного дискового пространства:

df -h

Скриншоты UI#

Скриншоты необходимы только для поиска проблемы с UI:

  • неадекватно отображается статус is_alive компонента,
  • отображается компонент, которого не должно быть (удалили, но он "вернулся"),
  • появилась нечитаемая ошибка,
  • в списке в LUNA Clementine дубли - на скриншот должны попасть даты создания лиц в списке,
  • есть расхождения с событиями в LUNA Clementine, неверный тег события,
  • прочее проблемы с UI.

Отслеживание проходов с помощью trace_id#

В Access для каждого прохода через СКУД формируется уникальный идентификатор — trace_id. Данный идентификатор связывает все события, относящиеся к одному проходу конкретного лица: от момента детекции до предоставления доступа через турникет.

Использование trace_id позволяет быстро и точно отслеживать весь процесс прохода, анализировать задержки на разных этапах и выявлять возможные проблемы.

С помощью trace_id можно отследить:

  • Время получения и обработки событий в системе;
  • Информацию о результате распознавания: ФИО, номер карты, идентификаторы в СКУД и биометрической системе;
  • Время выполнения ключевых операций: детекция, распознавание, отправка данных на терминал и контроллер;
  • Другие технические детали, связанные с обработкой прохода.

Отслеживание проходов через события Luna Platform#

1․ Откройте интерфейс Luna CLEMENTINE / Luna Platform и перейдите в раздел Последние события. 2․ Найдите самое раннее успешное событие распознавания. 3․ Перейдите в карточку этого события, нажав на стрелку в правом верхнем углу возле фотографии (Рисунок 10).

Событие успешного распознавания
Рисунок 10. Событие успешного распознавания

4․ Скопируйте восьмизначный trace_id из поля Теги (Рисунок 11).

Расположение trace_id в карточке события
Рисунок 11. Расположение trace_id в карточке события

5․ Убедитесь, что в LUNA Access 2 включён режим отладки (debug), и в логе worker присутствуют сообщения уровня DEBUG. 6․ Найдите все логи, относящиеся к этому проходу, выполнив команду:

docker-compose logs fastapi worker | grep "<trace_id>"

Пример (Рисунок 12).

Пример лога
Рисунок 12. Пример лога

Как найти trace_id по ФИО персоны#

1․ Убедитесь, что включён режим отладки (debug) для LUNA Access 2 и в worker есть DEBUG-логи. 2․ Найдите нужный лог по ФИО:

docker-compose logs worker | grep -i "<name>"

3․ В найденном логе будет указан trace_id в формате trace <trace_id> (Рисунок 13).

Отображение trace_id в логе
Рисунок 13. Отображение trace_id в логе

4․ Используйте данный trace_id для поиска всех связанных логов:

   docker-compose logs fastapi worker | grep "<trace_id>"

Поиск события в Luna Platform по trace_id#

Порядок действий для отображения события по trace_id в UI (Рисунок 14).

Отображение trace_id в логе
Рисунок 13. Отображение trace_id в логе

1․ В Luna CLEMENTINE / Luna Platform перейдите в раздел Последние события. 2․ Нажмите на значок фильтра справа. 3․ Введите значение trace_id в поле Теги: 4․ Нажмите кнопку Отфильтровать.