Перейти к содержанию
VVizorLabsТехнический центрОсновной сайт

BOX 3.x

Настройка модулей BOX 3.x

Параметры видеоархива, DataLens, WebRTC и языка интерфейса; зависимости модулей и проверка после включения.

Для кого: администратор / devops / интегратор
На этой странице

Что такое настраиваемые макрофункции

Дополнительные возможности BOX 3.x включаются по задачам конкретного проекта. В референсной конфигурации большинство таких функций отключено, чтобы не занимать вычислительные ресурсы, память и хранилище без необходимости.

Точный способ активации зависит от установленного релиза, состава доменов и образов сервисов. Перед изменением сверяйте версии компонентов и используйте инструкцию для фактически развёрнутого контура.

Видеоархив: домен и параметры

Добавьте video-archive в массив DOMAINS в domain.conf установленного BOX. Затем настройте переменные архива в конфигурации развёртывания. В этом варианте модуля запись поддерживает TCP-потоки; наличие картинки в интерфейсе само по себе не подтверждает возможность архивной записи.

Значения в таблице — пример конфигурации, а не расчёт ёмкости для вашей площадки. Постоянное и временное хранилища имеют отдельные лимиты. h264_nvenc требует совместимого NVIDIA GPU и доступного кодировщика.

Проверка включённого видеоархива
  1. 1
    Камера: TCP-поток

    Подтвердите доступ к потоку с узла архива.

    ↓ Запись
  2. 2
    Домен video-archive

    Сервис создаёт фрагменты и использует временное хранилище.

    ↓ Сохранение
  3. 3
    MinIO / video-archive

    Проверьте появление объектов и фактический размер хранилища.

    ↓ Чтение
  4. 4
    Архив и карточка события

    Откройте фрагмент в браузере, проверьте время и нужную камеру.

Запись, обработка фрагмента для события и воспроизведение — разные этапы; проверяйте каждый отдельно.

ПараметрПример значенияНазначение / единицы
VIDEO_ARCHIVE_IS_ENABLEDtrueВключение видеоархива
VIDEO_ARCHIVE_IS_RECORD_ALL_CAMERASfalseНе включать запись всех камер автоматически
VIDEO_ARCHIVE_VIDEO_DURATION_SEC900Длительность видеофрагмента, секунды
VIDEO_ARCHIVE_VIDEO_DELTA_SEC5Длительность при совпадении начала и конца записи, секунды
VIDEO_ARCHIVE_FAILED_CAMERA_WAIT_VIDEO_SEC150Ожидание после последнего кадра перед повторной записью, секунды
VIDEO_ARCHIVE_MAX_MEDIA_STORAGE_SIZE_GB200.0Лимит постоянного хранилища, ГБ
VIDEO_ARCHIVE_MAX_TMP_MEDIA_STORAGE_SIZE_GB1.0Лимит временного хранилища, ГБ
VIDEO_ARCHIVE_TMP_DIR<абсолютный путь>Каталог временных файлов offline-post-inference
VIDEO_ARCHIVE_FFMPEG_ENCODE_CODEC / VIDEO_ARCHIVE_FFMPEG_CROP_CODECh264_nvencКодирование и обрезка видео
MINIO_BUCKET_VIDEO_ARCHIVEvideo-archiveБакет архива в MinIO

DataLens: settings.json и абсолютный путь данных

Для отображения ссылки на развёрнутую статистику задайте DASHBOARD_DATALENS_METRICS_URL в ui-rest/ui-config/settings.json. В старых сборках параметр мог находиться в config.json; используйте файл, который читает ваш релиз. Пустая строка отключает ссылку.

Ниже показан фрагмент settings.json. Подставьте опубликованный URL дашборда. Сама ссылка не создаёт подключения BI к базе: домен analytics и доступ к данным настраиваются отдельно. COMPOSE_DATA для аналитики задаётся абсолютным путём.

ПроверкаОжидаемый результат
Файл конфигурацииПараметр прочитан из settings.json целевого релиза
COMPOSE_DATAАбсолютный путь к данным, а не ./compose-data
Раздел «Доска»Ссылка открывает нужный дашборд
Данные и права BIДашборд содержит данные нужного объекта; доступ проверен под целевым пользователем
{
  "DASHBOARD_DATALENS_METRICS_URL": "https://<bi-host>/<dashboard-id>"
}

WebRTC: адрес coturn

Для трансляции из медиасервера в браузер используется WebRTC. В описанной конфигурации прохождение NAT обеспечивается через TCP и coturn. Сервис inf-coturn входит в домен inference.

Задайте COTURN_HOST_IP в .env домена inference: это адрес интерфейса coturn, доступный клиентам. Медиасервер должен использовать тот же адрес. Если BOX расположен за NAT и клиентам нужен доступ через Интернет, coturn размещается на доступном им узле с публичным IP.

  • Проверьте доступность coturn из сети пользователя, а не только с сервера BOX.
  • Проверьте воспроизведение в браузере из локальной и внешней сети, если предусмотрены оба варианта.
  • Открывающаяся страница BOX не подтверждает работоспособность видеотранспорта.
# .env домена inference
COTURN_HOST_IP=<доступный_клиентам_IP>

Язык интерфейса: frontend и backend

DEFAULT_LANGUAGE задаёт начальный язык frontend, USER_DEFAULT_UI_LANG — начальный язык пользователя в backend. Допустимы ru и en. На backend переменная передаётся, в частности, в st-auth и st-report-email.

Расположение config.json зависит от каталога установки. Проверьте наличие файла ui-rest/ui-config/config.json: его отсутствие может приводить к бесконечной загрузке интерфейса.

УровеньПараметрРусский интерфейс
Frontend: config.jsonDEFAULT_LANGUAGE"ru"
Backend: .env и environment сервисовUSER_DEFAULT_UI_LANGru
// Фрагмент config.json
{
  "DEFAULT_LANGUAGE": "ru"
}

# .env
USER_DEFAULT_UI_LANG=ru

Безопасный порядок включения

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

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

  • Зафиксировать бизнес-задачу и владельца функции
  • Проверить версию BOX и зависимости сервисов
  • Оценить GPU, CPU, RAM, сеть и объём хранения
  • Сохранить текущую конфигурацию и подготовить откат
  • Изменить compose и env только в нужных доменах
  • Перезапустить затронутые сервисы по регламенту
  • Проверить метрики, логи, UI и полный пользовательский сценарий

Идентификация, аналитика и LLM

Интеграция с Active Directory требует выделенной учётной записи чтения, согласованной группы пользователей, DNS, контроллеров домена и корректной настройки LDAPS. После запуска проверяются первичная загрузка, периодическая синхронизация и блокировка доступа при исключении пользователя из группы.

DataLens добавляет переход к расширенной статистике и требует корректного URL дашборда и подготовленных аналитических данных. Keycloak и LLM-интеграция подключаются только после проверки совместимости образов и зависимых сервисов.

Видео и специализированные источники

Видеоархив разворачивается как отдельный домен и требует расчёта постоянного и временного хранилища, кодеков и политики записи. Для описанного контура архив работает с TCP-потоками; транспорт и совместимость каждой камеры следует проверить до массового включения.

Видеорегистраторы, тепловизоры, виртуальные камеры, WebRTC и распознавание лиц требуют собственных сервисов или параметров. Для ресурсоёмких функций заранее проверяйте запас GPU и возможность оптимизации модели.

Карты, позиционирование и устройства

Карта OpenStreetMap и схема объекта являются альтернативными режимами отображения и не должны подключаться одновременно. Позиционирование по умолчанию отключается и включается только при наличии согласованного провайдера и потока данных, например GoodWAN или DIWO.

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

Уведомления и доставка результатов

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

В документации выделены агент уведомлений, VK Teams, почтовая рассылка, персональный Telegram-бот и настройка ссылок в отчётах. Устаревшие каналы не следует включать в новые проекты.

Мониторинг, журналы и очистка данных

После включения новой функции добавьте её в эксплуатационный контроль. Метрики и состояние сервисов просматриваются через Prometheus и Grafana, журналы агрегируются в Loki. Для диагностики проверяйте сервис, его зависимости, Kafka, хранилище и пользовательский результат.

Лимиты хранения задаются явно в конфигурации и контролируются по фактическому заполнению дисков. Не полагайтесь только на очистку из интерфейса: до ввода в эксплуатацию проверьте реальное удаление данных и поведение при достижении лимита.

Настройки интерфейса и значения по умолчанию

Отдельная группа документации описывает WebRTC, визуализацию, виртуальные камеры, распознавание лиц и сокеты. Их фактическое состояние и расположение параметров зависит от версии поставки.

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

Чек-лист приёмки макрофункции

Изменение считается завершённым, когда подтверждён не только запуск контейнеров, но и сквозной пользовательский результат. Итоговые параметры, версии и процедура отката должны попасть в эксплуатационный комплект проекта.

КонтрольЧто подтвердитьРезультат
СовместимостьВерсии образов и зависимых сервисов соответствуют инструкцииЗафиксированный комплект версий
РесурсыПосле включения сохраняется запас CPU, GPU, RAM и дискаЗамеры до и после
ДанныеСозданы нужные хранилища, volumes и политики очисткиЗапись и чтение проверены
ОбменСообщения проходят через API или Kafka без устойчивого lagКонтрольное событие доставлено
ИнтерфейсФункция видна только разрешённым ролям и объектамПроверка тестовым пользователем
ЭксплуатацияМетрики, журналы, backup и откат доступны командеОбновлённый runbook
Эксплуатационная конфигурация BOX 3.x · открыть
Эксплуатационная конфигурация BOX 3.x
Нажмите на изображение, чтобы открыть в полном размере.