Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

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

Чек-лист установки

...

Подготовка к установке 
Якорь
installation_preparation
installation_preparation

Установка часового пояса

При установке Ubuntu-22.04.5 не предлагается указать часовой пояс (по умолчанию устанавливается время UTC). Его нужно установить вручную (для корректной работы видеоархива, календарей доступа и т.д.), например:

Блок кода
languagebash
titleПроверка работоспособности
sudo systemctltimedatectl isset-active evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

...

timezone Asia/Novosibirsk
Подсказка
titleКак узнать имя своей timezone?

На примере города Новосибирска: timedatectl list-timezones | grep "Novosibirsk"

Обновление ОС

Перед началом установки необходимо обновить ОС:

Блок кода
languagebash
sudo apt update && sudo apt upgrade -y

Скачивание установочных файлов

Блок кода
languagebash
titleАктивность сервисов
linenumberstrue
active
active
active
active
active

Установка модуля Видеоаналитики

EVI Analytics — модуль видеоаналитики, предназначен для обнаружения, распознавания, подсчета, трекинга объектов согласно моделям.

Примечание

Рекомендуется обновить ядро системы перед установкой видеодрайвера.

Предупреждение
titleСистемные требования для видеоаналитики

Перед началом работы необходимо ознакомиться с требованиями к модулю Видеоалитики в разделе Системные требования Платформы EVI.

Требования для модуля Видеоаналитика

Предупреждение
titleИспользование виртуализации

Система видеоаналитики требует наличия видеокарты.

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

Совместимость с виртуализацией не обеспечивает стабильной работы модуля видеоаналитики.

Для работы модуля требуется дискретная видеокарта. Ниже приведена минимальная конфигурация для запуска:

...

Пример установленных версий ядра и драйвера

Возможны проблемы установки драйвера из-за ядра Linux, ниже приведены примеры рабочих вариантов:

...

Скачивание архива
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.1/evi-1.4.1_ubuntu-22.04.tar
Блок кода
languagebash
titleИзвлечение файлов архива
tar -xvf evi-1.4.1_ubuntu-22.04.tar

Установка баз данных
Якорь
database_install
database_install

ПакетОписание
postgresql-17
База данных используется в сервисах EVI
clickhouse-server
База данных используется в сервисахEVI
clickhouse-client
Клиент для подключения к БД ClickHouse
libpq5
Библиотека для взаимодействия сервисов EVI с БД

База данных Postgresql

Примечание

Минимальная версия postgresql 17.

Все сервисы используют 1 базу данных для работы.

Рекомендуем размещать базу данных рядом с evi-core и evi-scud.

Для установки postgresql 17 необходимо выполнить следующие команды в терминале сервера:

Блок кода
languagebash
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
Блок кода
languagebash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Блок кода
languagebash
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --yes --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
Блок кода
languagebash
sudo apt update
Блок кода
languagebash
sudo apt install -y postgresql-17

Создание базы данных core c пользователем core в postgresql.

Предупреждение

Если вы проводите миграцию баз данных, этот пункт не выполняется.

Для создания базы данных необходимо выполнить следующие команды:

Блок кода
titleСоздать пользователя БД
sudo -u postgres createuser --interactive

Enter name of role to add: core

Shall the new role be a superuser? (y/n) y

Блок кода
titleПереключиться на пользователя postgres
sudo -u postgres psql
Блок кода
titleСоздать БД с именем core
CREATE DATABASE core;
Блок кода
titleИзменить пользователю core пароль на 'core'
ALTER USER core WITH PASSWORD 'core';
Блок кода
titleВыдать пользователю core права администратора БД
ALTER USER core WITH SUPERUSER;
Блок кода
titleВыйти из пользователя postgres
\quit

База данных ClickHouse

Для  установки ClickHouse необходимо выполнить следующие команды в терминале сервера:

Блок кода
languagebash
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
Блок кода
languagebash
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
Блок кода
languagebash
ARCH=$(dpkg --print-architecture)
Блок кода
languagebash
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
Блок кода
languagebash
sudo apt update

При установке clickhouse-server у вас запросят пароль для пользователя по умолчанию (Set up the password for the default user).

В документации EVI используется пароль по умолчанию core.

Блок кода
languagebash
sudo apt-get install -y clickhouse-server clickhouse-client
Блок кода
languagebash
sudo service clickhouse-server start

Создание пользователя core c паролем core в БД clickhouse:

Блок кода
languagebash
clickhouse-client --user=default --password=core --query="CREATE USER core IDENTIFIED WITH sha256_password BY 'core'" --query="GRANT CURRENT GRANTS on *.* TO core WITH GRANT OPTION"

Установка обязательных зависимостей

Примечание

Каждый из пакетов (evi-core, evi-scud, evi-live, evi-archive, evi-analyzer) требует наличие пакета libpq5 (>= 17.2).

В случае установки сервисов на разные серверы, необходимо установить на каждый из них libpq5.

Блок кода
languagebash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Блок кода
languagebash
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --yes --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
Блок кода
languagebash
sudo apt update
Блок кода
languagebash
sudo apt install libpq5

Установка модуля Ядра

Evi-core — ядро платформы предназначенное для конфигурирования модулей

Общие требования для модулей

Требования для ядра платформы

Минимальная конфигурация необходимая для запуска ядра платформы evi-core и модуля СКУД на одном сервере:

OSCPURAMSDDHDDLAN
Ubuntu 22.042 ядра 64-bit x864 GB100 GB100 GB100 Mb/s

Установка модуля Ядра

Для установки ядра системы выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-core_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt-get install -f

Установка модуля web-интерфейса

EVI Core Web — графический web-интерфейс для управления системой.

Требования для модуля web-интерфейса

Для работы модуля web-интерфейса требуется установить web-сервер Angie.

Для установки web-сервера выполните следующие команды:

Блок кода
titleУстановка вспомогательных пакетов для подключения репозитория
sudo apt install ca-certificates curl
Блок кода
titleСкачивание ключа для проверки пакетов
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpg
Блок кода
titleПодключение репозитория Angie
echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
    | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
Блок кода
titleОбновление индексов репозиториев
sudo apt update
Блок кода
titleУстановка пакета Angie
sudo apt-get install -y angie

Установка модуля web-интерфейса

Для установки модуля web-интерфейса выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-core-web_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

Установка модуля СКУД

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

Требования для модуля СКУД

Для работы модуля требуется контроллер СКУД IPA-ER-020.

Версия прошивки контроллера должна быть не ниже 2.3.0 build 52.

Установка модуля СКУД

Для установки модуля СКУД выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-scud_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

Установка модуля Видеонаблюдения
Якорь
video_surveillance_module_installation
video_surveillance_module_installation

EVI Perimeter объединение модулей (evi-live, evi-archive, evi-analyzer) видеонаблюдения, предназначенный для получения видеопотоков с камер и сохранения в архив.

ПакетОписание
evi-live
Модуль для взаимодействия с камерами видеонаблюдения для платформы EVI
evi-archive
Модуль для записи архивов с камер для платформы EVI
evi-analyzer
Модуль детектора движения для платформы EVI

Требования для модуля Видеонаблюдение

Для работы модуля требуются камеры с поддержкой подключения по ссылке RTSP.

Подготовительные действия

В конфигурационном файле сервиса evi-live, который находится по пути /opt/evi-live/evi-live.conf, в параметре extern_host должен быть указан IP-адрес или доменное имя, доступное для пользователей в вашей локальной сети. 

Иначе просмотр видео с камер будет невозможен.

Примечание
titleПараметр extern_ip в конфигурации /opt/evi-live/evi-live.conf

В случае установки доменного имени вместо IP-адреса может перестать работать видео в браузере Firefox.

Чтобы автоматически выставить адрес в конфигурационном файле после установки выполните следующие действия в консоли сервера:

Блок кода
languagebash
titleУстановка IP-адреса для переменной окружения extern_host через переменную окружения
export EVI_LIVE_EXTERN_HOST=$(ip -br -4 a show $(ip ro get fibmatch 0.0.0.1 | grep -o "dev [^ ]\+") | grep -o "[^ \.]\+\.[^/]\+")
Блок кода
languagebash
titleПроверка назначенного адреса
echo $EVI_LIVE_EXTERN_HOST

В консоли вы увидите IP-адрес сетевого интерфейса сервера, например 192.168.50.15.

Чтобы убедиться, что IP-адрес верный, выполните команду:

Блок кода
languagebash
titleПроверка назначенного адреса
ip -br a

Адрес должен соответствовать сетевому интерфейсу.

Блок кода
languagebash
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eno1

Ручная установка docker и драйвера

Примечание
titleВерсия драйвера

Рекомендуем использовать доступный актуальный драйвер в репозитории OC.

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

Блок кода
languagebash
titleУстановить драйвер для видеокарты
sudo apt install -yfqq nvidia-driver-575

Далее необходимо установить docker для работы с контейнером аналитики и nvidia-docker2 для работы с видеокартой:

Блок кода
languagebash
titleУстановка зависимостей
linenumberstrue
sudo apt-get update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Блок кода
languagebash
titleДобавление репозитория docker
linenumberstrue
curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Блок кода
languagebash
titleУстановка docker
linenumberstrue
sudo apt-get update
sudo apt-get install docker-ce docker-compose nvidia-docker2
Блок кода
languagebash
titleПерезапуск сервиса docker
linenumberstrue
sudo systemctl restart docker

Добавить пользователя в группу docker:

Блок кода
languagebash
titleДобавить пользователя в группу docker
linenumberstrue
sudo usermod -aG docker $(whoami)
Предупреждение
Обязательно требуется перезагрузка сервера.
Блок кода
languagebash
linenumberstrue
sudo reboot

Необходимо проверить наличие  запущенного драйвера в системе после его установки:

Блок кода
languagebash
titleПроверка работающего драйвера в системе
linenumberstrue
nvidia-smi
Предупреждение

Ошибка при выполнении команды nvidia-smi указывает на то, что видеодрайвер не смог запуститься и/или отсутствует дискретная видеокарта. Запуск видеоаналитики без рабочего драйвера NVIDIA невозможен.

Блок кода
languagebash
titleПример вывода команды nvidia-smi
linenumberstrue
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 575.144.03             Driver Version: 575.144.03     CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3080        Off |   00000000:01:00.0 Off |                  N/A |
|  0%   41C    P2            113W /  370W |    3902MiB /  10240MiB |      5%      Default |
|                          UP             192.168.50.15/24 metric 100 fe80::3eec:efff:fea0:9396/64

Можете приступать к установке видеонаблюдения. Переменная extern_host автоматически установится в конфигурационном файле.

Установка модуля Видеонаблюдения

Для установки модуля Видеонаблюдения выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo -E dpkg -i evi-live_1.4.*.deb evi-archive_1.4.*.deb evi-analyzer_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

Проверка переменной после установки:

Блок кода
languagebash
titleУстановка пакетов
cat /opt/evi-live/evi-live.conf | grep "extern_host"

В консоли вы увидите:

Блок кода
languagebash
titleУстановка пакетов
extern_host=192.168.50.15                # External or proxy address (ENV: EVILIVE_GLOBAL_EXTERN_HOST)

Установка модуля Видеоаналитики

EVI Analytics — модуль видеоаналитики, предназначен для обнаружения, распознавания, подсчета, трекинга объектов согласно моделям.

Примечание

Рекомендуется обновить ядро системы перед установкой видеодрайвера.

Предупреждение
titleСистемные требования для видеоаналитики

Перед началом работы необходимо ознакомиться с требованиями к модулю Видеоалитики в разделе Системные требования Платформы EVI.

Требования для модуля Видеоаналитика

Предупреждение
titleИспользование виртуализации

Система видеоаналитики требует наличия видеокарты.

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

Совместимость с виртуализацией не обеспечивает стабильной работы модуля видеоаналитики.

Для работы модуля требуется дискретная видеокарта. Ниже приведена минимальная конфигурация для запуска:

OSGPUSERIESVRAMDRIVER
Ubuntu 22.04NVIDIAQuadro или RTX8 GB545

Пример установленных версий ядра и драйвера

Возможны проблемы установки драйвера из-за ядра Linux, ниже приведены примеры рабочих вариантов:

OSKernelDriver
Ubuntu 22.04.4 LTSGNU/Linux 6.5.0-44-generic x86_64NVIDIA-SMI 545.29.06
Ubuntu 22.04.4 LTS GNU/Linux 6.5.0-45-generic x86_64NVIDIA-SMI 575.64.05

Ручная установка docker и драйвера

Примечание
titleВерсия драйвера

Рекомендуем использовать доступный актуальный драйвер в репозитории OC.

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

Блок кода
languagebash
titleУстановить драйвер для видеокарты
sudo apt install -yfqq nvidia-driver-575

Далее необходимо установить docker для работы с контейнером аналитики и nvidia-docker2 для работы с видеокартой:

Блок кода
languagebash
titleУстановка зависимостей
linenumberstrue
sudo apt-get update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Блок кода
languagebash
titleДобавление репозитория docker
linenumberstrue
curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
Блок кода
languagebash
titleУстановка docker
linenumberstrue
sudo apt-get update
sudo apt-get install docker-ce docker-compose nvidia-docker2
Блок кода
languagebash
titleПерезапуск сервиса docker
linenumberstrue
sudo systemctl restart docker

Добавить пользователя в группу docker:

Блок кода
languagebash
titleДобавить пользователя в группу docker
linenumberstrue
sudo usermod -aG docker $(whoami)
Предупреждение
Обязательно требуется перезагрузка сервера.
Блок кода
languagebash
linenumberstrue
sudo reboot

Необходимо проверить наличие  запущенного драйвера в системе после его установки:

Блок кода
languagebash
titleПроверка работающего драйвера в системе
linenumberstrue
nvidia-smi
Предупреждение

Ошибка при выполнении команды nvidia-smi указывает на то, что видеодрайвер не смог запуститься и/или отсутствует дискретная видеокарта. Запуск видеоаналитики без рабочего драйвера NVIDIA невозможен.


Блок кода
languagebash
titleПример вывода команды nvidia-smi
linenumberstrue
+---------------|                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes: NVIDIA-SMI 575.144.03             Driver Version: 575.144.03     CUDA Version: 12.4                   |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr.   ECC |
| Fan GPU Temp  GI Perf  CI        PIDPwr:Usage/Cap |  Type   Process name     Memory-Usage | GPU-Util                       GPU MemoryCompute M. |
|          ID   ID                            |                        |           Usage    MIG M. |
|=========================================+========================+========================|
|    0  NVIDIA N/AGeForce RTX N/A3080   2144100     Off C|   tritonserver  00000000:01:00.0 Off |                  N/A |
|  0%   41C    P2     1296MiB |
|    0  113W N/A  N/A   2144155/  370W |    3902MiB /  10240MiB |      C5%   tritonserver   Default |
|                             1296MiB |
|    0   N/A  N/A  | 2144163      C   tritonserver              |                   1296MiBN/A |
+-----------------------------------------+------------------------+------------------------+

Настройка доступа к базе данных для подключения контейнера

Перед началом настройки необходимо остановить сервисы EVI.

Блок кода
languagebash
titleОстановите сервисы, которые работают с базой данных 
linenumberstrue
sudo systemctl stop evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

Необходимо открыть доступ для подключения контейнера аналитики к базе данных.

Блок кода
languagebash
titleОтредактировать файл /etc/postgresql/17/main/pg_hba.conf
linenumberstrue
/etc/postgresql/17/main/pg_hba.conf

В раздел IPv4 local connections добавьте строку по примеру ниже и сохраните файл.

Так как контейнеры по умолчанию получают IP-адреса из подсети 172.16.0.0/12, необходимо указать его.

Блок кода
languagebash
title/etc/postgresql/17/main/pg_hba.conf
linenumberstrue
# IPv4 local connections:
host    all             all+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                   127.0.0.1/32          scram-sha-256
host    all                                                 |
|  GPU   GI   CI        PID   Type   Process name all                172.16.0.0/12         md5

Откройте файл конфигурации базы данных. Уберите символ решётки (#), чтобы активировать параметр listen_addresses, и укажите в нем IP-адрес сервера. После этого сохраните изменения в файле.

Блок кода
languagebash
titleОтредактировать файл /etc/postgresql/17/main/postgresql.conf
linenumberstrue
/etc/postgresql/17/main/postgresql.conf
Блок кода
languagebash
titleИсходный файл /etc/postgresql/17/main/postgresql.conf
linenumberstrue
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
                       GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A   2144100      C   tritonserver                     
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
Блок кода
languagebash
titleПример отредактированного файла /etc/postgresql/17/main/postgresql.conf
linenumberstrue
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
                                  1296MiB |
|    0   N/A  N/A   2144155      C   tritonserver                           
# - Connection Settings -

listen_addresses = 'localhost, 192.168.1.10'      1296MiB |
|    0   N/A  N/A   2144163      C   tritonserver                         # what IP address(es) to listen on;

Для применения изменений перезапустите сервис базы данных postgresql:

Блок кода
languagebash
titleПерезапуск сервиса базы данных
linenumberstrue
sudo systemctl restart postgresql
Блок кода
languagebash
titleЗапустите сервисы evi 
linenumberstrue
sudo systemctl start evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

Загрузка образа и запуск контейнера evi-analytics

Подсказка

Образы аналитики имеют большой объем, поэтому их загрузка может занять некоторое время.

После настройки доступа к базе данных необходимо загрузить на сервер аналитики скрипт evi-analytics_1.4.0.sh:

Блок кода
languagebash
titleЗагрузить скрипт evi-analytics_1.4.0_public.sh
linenumberstrue
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.0/evi-analytics_1.4.0.sh
Блок кода
languagebash
titleЗапустить скрипт evi-analytics_1.4.0_public.sh
linenumberstrue
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
Блок кода
languagebash
titleПример запуска
linenumberstrue
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="192.168.1.10"

Проверка работоспособности

Блок кода
languagebash
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Информация
titleПример успешно запущенных контейнеров

CONTAINER ID   NAMES                                                    STATUS
f01deee7d6a5   user-triton1-1                                       Up 23 hours
d70d9e7004ac   user-triton3-1                                       Up 23 hours
c011105320e9   user-triton2-1                                       Up 23 hours
d17d6261648f   user-evi-analytics-haproxy-1            Up 23 hours
fa2db6812f3b    user-evi-analytics-1                             Up 23 hours

...

1296MiB |
+-----------------------------------------------------------------------------------------+

Настройка доступа к базе данных для подключения контейнера

Перед началом настройки необходимо остановить сервисы EVI.

Блок кода
languagebash
titleОстановите сервисы, которые работают с базой данных 
linenumberstrue
sudo systemctl stop evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

Необходимо открыть доступ для подключения контейнера аналитики к базе данных.

Блок кода
languagebash
titleОтредактировать файл /etc/postgresql/17/main/pg_hba.conf
linenumberstrue
/etc/postgresql/17/main/pg_hba.conf

В раздел IPv4 local connections добавьте строку по примеру ниже и сохраните файл.

Так как контейнеры по умолчанию получают IP-адреса из подсети 172.16.0.0/12, необходимо указать его.

Блок кода
languagebash
title/etc/postgresql/17/main/pg_hba.conf
linenumberstrue
# IPv4 local connections:
host    all             all             127.0.0.1/32          scram-sha-256
host    all             all             172.16.0.0/12         md5

Откройте файл конфигурации базы данных. Уберите символ решётки (#), чтобы активировать параметр listen_addresses, и укажите в нем IP-адрес сервера. После этого сохраните изменения в файле.

Блок кода
languagebash
titleОтредактировать файл /etc/postgresql/17/main/postgresql.conf
linenumberstrue
/etc/postgresql/17/main/postgresql.conf
Блок кода
languagebash
titleИсходный файл /etc/postgresql/17/main/postgresql.conf
linenumberstrue
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
      

...

EVI Perimeter объединение модулей (evi-live, evi-archive, evi-analyzer) видеонаблюдения, предназначенный для получения видеопотоков с камер и сохранения в архив.

...

evi-live

...

evi-archive

...

evi-analyzer

...

Требования для модуля Видеонаблюдение

Для работы модуля требуются камеры с поддержкой подключения по ссылке RTSP.

Подготовительные действия

В конфигурационном файле сервиса evi-live, который находится по пути /opt/evi-live/evi-live.conf, в параметре extern_host должен быть указан IP-адрес или доменное имя, доступное для пользователей в вашей локальной сети. 

Иначе просмотр видео с камер будет невозможен.

Примечание
titleПараметр extern_ip в конфигурации /opt/evi-live/evi-live.conf

В случае установки доменного имени вместо IP-адреса может перестать работать видео в браузере Firefox.

Чтобы автоматически выставить адрес в конфигурационном файле после установки выполните следующие действия в консоли сервера:

Блок кода
languagebash
titleУстановка IP-адреса для переменной окружения extern_host через переменную окружения
export EVI_LIVE_EXTERN_HOST=$(ip -br -4 a show $(ip ro get fibmatch 0.0.0.1 | grep -o "dev [^ ]\+") | grep -o "[^ \.]\+\.[^/]\+")
Блок кода
languagebash
titleПроверка назначенного адреса
echo $EVI_LIVE_EXTERN_HOST

В консоли вы увидите IP-адрес сетевого интерфейса сервера, например 192.168.50.15.

Чтобы убедиться, что IP-адрес верный, выполните команду:

Блок кода
languagebash
titleПроверка назначенного адреса
ip -br a

Адрес должен соответствовать сетевому интерфейсу.

Блок кода
languagebash
lo               UNKNOWN        127.0.0.1/8 ::1/128 
eno1             UP             192.168.50.15/24 metric 100 fe80::3eec:efff:fea0:9396/64

Можете приступать к установке видеонаблюдения. Переменная extern_host автоматически установится в конфигурационном файле.

Установка модуля Видеонаблюдения

Для установки модуля Видеонаблюдения выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo -E dpkg -i evi-live_1.4.*.deb evi-archive_1.4.*.deb evi-analyzer_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

Проверка переменной после установки:

Блок кода
languagebash
titleУстановка пакетов
cat /opt/evi-live/evi-live.conf | grep "extern_host"

В консоли вы увидите:

Блок кода
languagebash
titleУстановка пакетов
extern_host=192.168.50.15                # External or proxy address (ENV: EVILIVE_GLOBAL_EXTERN_HOST)

Установка модуля СКУД

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

Требования для модуля СКУД

Для работы модуля требуется контроллер СКУД IPA-ER-020.

Версия прошивки контроллера должна быть не ниже 2.3.0 build 52.

Установка модуля СКУД

Для установки модуля СКУД выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-scud_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

Установка модуля web-интерфейса

EVI Core Web — графический web-интерфейс для управления системой.

Требования для модуля web-интерфейса

Для работы модуля web-интерфейса требуется установить web-сервер Angie.

Для установки web-сервера выполните следующие команды:

Блок кода
titleУстановка вспомогательных пакетов для подключения репозитория
sudo apt install ca-certificates curl
Блок кода
titleСкачивание ключа для проверки пакетов
sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg \
            https://angie.software/keys/angie-signing.gpg
Блок кода
titleПодключение репозитория Angie
echo "deb https://download.angie.software/angie/$(. /etc/os-release && echo "$ID/$VERSION_ID $VERSION_CODENAME") main" \
         | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null
Блок кода
titleОбновление индексов репозиториев
sudo apt update
Блок кода
titleУстановка пакета Angie
sudo apt-get install -y angie

Установка модуля web-интерфейса

Для установки модуля web-интерфейса выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-core-web_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt install -f

...

Установка часового пояса

При установке Ubuntu-22.04.5 не предлагается указать часовой пояс (по умолчанию устанавливается время UTC). Его нужно установить вручную (для корректной работы видеоархива, календарей доступа и т.д.), например:

Блок кода
languagebash
sudo timedatectl set-timezone Asia/Novosibirsk
Подсказка
titleКак узнать имя своей timezone?

На примере города Новосибирска: timedatectl list-timezones | grep "Novosibirsk"

Обновление ОС

Перед началом установки необходимо обновить ОС:

Блок кода
languagebash
sudo apt update && sudo apt upgrade -y

Скачивание установочных файлов

Блок кода
languagebash
titleСкачивание архива
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.1/evi-1.4.1_ubuntu-22.04.tar
Блок кода
languagebash
titleИзвлечение файлов архива
tar -xvf evi-1.4.1_ubuntu-22.04.tar

...

postgresql-17

...

clickhouse-server

...

clickhouse-client

...

libpq5

...

 
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
Блок кода
languagebash
titleПример отредактированного файла /etc/postgresql/17/main/postgresql.conf
linenumberstrue
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
                                        
# - Connection Settings -

listen_addresses = 'localhost, 192.168.1.10'         # what IP address(es) to listen on;

Для применения изменений перезапустите сервис базы данных postgresql:

Блок кода
languagebash
titleПерезапуск сервиса базы данных
linenumberstrue
sudo systemctl restart postgresql
Блок кода
languagebash
titleЗапустите сервисы evi 
linenumberstrue
sudo systemctl start evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

Загрузка образа и запуск контейнера evi-analytics

Подсказка

Образы аналитики имеют большой объем, поэтому их загрузка может занять некоторое время.

После настройки доступа к базе данных необходимо загрузить на сервер аналитики скрипт evi-analytics_1.4.0.sh:

Блок кода
languagebash
titleЗагрузить скрипт evi-analytics_1.4.0_public.sh
linenumberstrue
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.0/evi-analytics_1.4.0.sh
Блок кода
languagebash
titleЗапустить скрипт evi-analytics_1.4.0_public.sh
linenumberstrue
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
Блок кода
languagebash
titleПример запуска
linenumberstrue
bash evi-analytics_1.4.0.sh EFNRS_DB_HOST="192.168.1.10"

Проверка работоспособности

Блок кода
languagebash
docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"
Информация
titleПример успешно запущенных контейнеров

CONTAINER ID   NAMES                                                    STATUS
f01deee7d6a5   user-triton1-1                                       Up 23 hours
d70d9e7004ac   user-triton3-1                                       Up 23 hours
c011105320e9   user-triton2-1                                       Up 23 hours
d17d6261648f   user-evi-analytics-haproxy-1            Up 23 hours
fa2db6812f3b    user-evi-analytics-1                             Up 23 hours

Чек-лист установки

Проверка работоспособности

Блок кода
languagebash
titleПроверка работоспособности
sudo systemctl is-active evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

В выводе все компоненты должны быть активны:

Блок кода
languagebash
titleАктивность сервисов
linenumberstrue
active
active
active
active
active

База данных Postgresql

Примечание

Минимальная версия postgresql 17.

Все сервисы используют 1 базу данных для работы.

Рекомендуем размещать базу данных рядом с evi-core и evi-scud.

Для установки postgresql 17 необходимо выполнить следующие команды в терминале сервера:

Блок кода
languagebash
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
Блок кода
languagebash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Блок кода
languagebash
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --yes --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
Блок кода
languagebash
sudo apt update
Блок кода
languagebash
sudo apt install -y postgresql-17

Создание базы данных core c пользователем core в postgresql.

Предупреждение

Если вы проводите миграцию баз данных, этот пункт не выполняется.

Для создания базы данных необходимо выполнить следующие команды:

Блок кода
titleСоздать пользователя БД
sudo -u postgres createuser --interactive

Enter name of role to add: core

Shall the new role be a superuser? (y/n) y

Блок кода
titleПереключиться на пользователя postgres
sudo -u postgres psql
Блок кода
titleСоздать БД с именем core
CREATE DATABASE core;
Блок кода
titleИзменить пользователю core пароль на 'core'
ALTER USER core WITH PASSWORD 'core';
Блок кода
titleВыдать пользователю core права администратора БД
ALTER USER core WITH SUPERUSER;
Блок кода
titleВыйти из пользователя postgres
\quit

База данных ClickHouse

Для  установки ClickHouse необходимо выполнить следующие команды в терминале сервера:

Блок кода
languagebash
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg
Блок кода
languagebash
curl -fsSL 'https://packages.clickhouse.com/rpm/lts/repodata/repomd.xml.key' | sudo gpg --dearmor -o /usr/share/keyrings/clickhouse-keyring.gpg
Блок кода
languagebash
ARCH=$(dpkg --print-architecture)
Блок кода
languagebash
echo "deb [signed-by=/usr/share/keyrings/clickhouse-keyring.gpg arch=${ARCH}] https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
Блок кода
languagebash
sudo apt update

При установке clickhouse-server у вас запросят пароль для пользователя по умолчанию (Set up the password for the default user).

В документации EVI используется пароль по умолчанию core.

Блок кода
languagebash
sudo apt-get install -y clickhouse-server clickhouse-client
Блок кода
languagebash
sudo service clickhouse-server start

Создание пользователя core c паролем core в БД clickhouse:

Блок кода
languagebash
clickhouse-client --user=default --password=core --query="CREATE USER core IDENTIFIED WITH sha256_password BY 'core'" --query="GRANT CURRENT GRANTS on *.* TO core WITH GRANT OPTION"

Установка обязательных зависимостей

Примечание

Каждый из пакетов (evi-core, evi-scud, evi-live, evi-archive, evi-analyzer) требует наличие пакета libpq5 (>= 17.2).

В случае установки сервисов на разные серверы, необходимо установить на каждый из них libpq5.

Блок кода
languagebash
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
Блок кода
languagebash
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --yes --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
Блок кода
languagebash
sudo apt update
Блок кода
languagebash
sudo apt install libpq5

Установка модуля Ядра

Evi-core — ядро платформы предназначенное для конфигурирования модулей

Общие требования для модулей

Требования для ядра платформы

Минимальная конфигурация необходимая для запуска ядра платформы evi-core и модуля СКУД на одном сервере:

...

Установка модуля Ядра

Для установки ядра системы выполните следующую команду:

Блок кода
languagebash
titleУстановка пакетов
sudo dpkg -i evi-core_1.4.*.deb
Блок кода
languagebash
titleЕсли установка завершится сообщением о неразрешенных зависимостях, воспользуйтесь командой
sudo apt-get install -f