Версия ПО 1.5.0

РЕД ОС 8

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

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

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

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

Чек-лист установки для РЕД ОС

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

sudo systemctl is-active evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

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

active
active
active
active
active

Настройка связности сервисов для РЕД ОС

При установке сервисов на разные серверы необходимо настроить связность сервисов между собой.

Пример: необходимо установить модуль СКУД и Видеонаблюдения на разные сервера.

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

  1. Установите evi-core, evi-scud, postgres, clickhouse на машину 192.168.50.29.
  2. Установите evi-live, evi-archive, evi-analyzer на машину 192.168.50.250.
  3. Разверните Evi-analytics на 192.168.50.35.
  4. В конфигурации evi-core пропишите адреса баз данных, evi-scud, evi-analytics, evi-live, evi-archive, evi-analyzer.
    [postgresql]
    host=127.0.0.1          
    port=5432                             
    dbname=core              
    username=core                         
    password=core
    
    [clickhouse]
    host=127.0.0.1                        
    port=9000                             
    dbname=core                           
    username=core                         
    password=core                         
    
    [evi-scud]
    rpc_host=127.0.0.1                    
    rpc_port=7102                         
    
    [evi-analytics]
    rpc_host=192.168.50.35               
    rpc_port=7402                         
    
    [evi-live]
    rpc_host=192.168.50.250                   
    rpc_port=7202                        
    
    [evi-archive]
    rpc_host=192.168.50.250                  
    rpc_port=7302                         
    
    [evi-analyzer]
    rpc_host=192.168.50.250                    
    rpc_port=7502
  5. В конфигах postgres открываем базу для подключения с других адресов.
    # - Connection Settings -
    
    listen_addresses = '*' 
    # TYPE  DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for Unix domain socket connections only
    local   all             all                                     trust
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            trust
    host    core            core            192.168.50.35/24        md5
    # IPv6 local connections:
    host    all             all             ::1/128                 trust
    # Allow replication connections from localhost, by a user with the
    # replication privilege.
    local   replication     all                                     trust
    host    replication     all             127.0.0.1/32            trust
    host    replication     all             ::1/128                 trust
  6. В конфиге evi-live прописываем адреса: базы данных, rpc, events, внешний IP.
    [postgresql]
    host=192.168.50.29                   
    port=5432                            
    dbname=core                          
    username=core                        
    password=core                        
    
    [rpc]
    listen=192.168.50.250                
    port=7202                            
    
    [events]
    listen=192.168.50.250                
    port=7204                            
    
    [global]
    extern_host=192.168.50.250           
    extern_port_rtsp_tcp=7260           
    extern_port_rtmp=7250               
    extern_port_webrtc_tcp=7285          
    extern_port_webrtc_udp=7285          
    extern_port_api=7200                 
    
    
  7. В конфиге evi-analyzer прописываем адреса: базы данных, rpc, events.
    [postgresql]
    host=192.168.50.29                           
    port=5432                                   
    dbname=core                                 
    username=core                               
    password=core                               
    
    [rpc]
    listen=192.168.50.250                        
    port=7502                                   
    
    [events]
    listen=192.168.50.250                            
    port=7504          
    
  8. В конфиге evi-archive прописываем адреса rpc и events.
    [rpc]
    listen=192.168.50.250                         
    port=7302                                
    
    [events]
    listen=192.168.50.250                     
    port=7304                                
    
  9. В докер файле evi-analitycs прописываем адрес базы данных. 
    : ${EVIANALYTICS_POSTGRESQL_HOST="192.168.50.29"}
    : ${EVIANALYTICS_POSTGRESQL_DBNAME="core"}
    : ${EVIANALYTICS_POSTGRESQL_USERNAME="core"}
    : ${EVIANALYTICS_POSTGRESQL_PASSWORD="core"}
    
    
  10. Перезапускаем все сервисы, в том числе evi-analytics.
После внесения изменений в сервис требуется его перезагрузка.

Установка модуля Видеоаналитики для РЕД ОС

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

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

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

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

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

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

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

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

OSGPUSERIESVRAMDRIVER
RedOS 8.0 SENVIDIAQuadro или RTX8 GB545

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

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

OSKernelDriver
RED OS 8.0 SEGNU/Linux 6.12.37-1.red80.x86_64
NVIDIA-SMI 570.144-1

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

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

sudo dnf install nvidia-drivers-3:570.144-1.red80.x86_64

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

curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \
  sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
sudo dnf install docker-ce
sudo dnf install docker-compose
sudo dnf install nvidia-container-toolkit


sudo nvidia-ctk runtime configure --runtime=docker 
sudo nvidia-ctk runtime configure --runtime=containerd


sudo nano /etc/nvidia-container-runtime/config.toml

Изменить no-cgroups на true:

[nvidia-container-cli] no-cgroups = true

Cохранить файл нажав Ctrl+X, затем Y и Enter.

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

sudo usermod -aG docker $(whoami)
Обязательно требуется перезагрузка сервера.
sudo reboot

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

nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.144.03             Driver Version: 550.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 |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A   2144100      C   tritonserver                                 1296MiB |
|    0   N/A  N/A   2144155      C   tritonserver                                 1296MiB |
|    0   N/A  N/A   2144163      C   tritonserver                                 1296MiB |
+-----------------------------------------------------------------------------------------+

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

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

sudo systemctl stop evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

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

sudo nano /var/lib/pgsql/17/data/pg_hba.conf

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

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

# 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-адрес сервера. После этого сохраните изменения в файле.

sudo nano /var/lib/pgsql/17/data/postgresql.conf
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
                                        
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
                                        
# - Connection Settings -

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

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

sudo systemctl restart postgresql-17.service
sudo systemctl start evi-core.service evi-scud.service evi-live.service evi-archive.service evi-analyzer.service

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

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

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

wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.1/evi-analytics_1.4.1_triton1.sh
/или/
wget --no-check-certificate https://archive.eltex-co.ru/evi-raw/evi-1.4.1/evi-analytics_1.4.1_triton3.sh
bash evi-analytics_1.4.1_triton1.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
/или/
bash evi-analytics_1.4.1_triton3.sh EFNRS_DB_HOST="IP-АДРЕС ВАШЕЙ БАЗЫ ДАННЫХ"
bash evi-analytics_1.4.1_triton1.sh EFNRS_DB_HOST="192.168.1.10"
/или/
bash evi-analytics_1.4.1_triton3.sh EFNRS_DB_HOST="192.168.1.10"

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

docker ps --format "table {{.ID}}\t{{.Names}}\t{{.Status}}"

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

Установка модуля Видеонаблюдения для РЕД ОС

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-адрес или доменное имя, доступное для пользователей в вашей локальной сети. 

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

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

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

export EVI_LIVE_EXTERN_HOST=$(ip -br -4 a show $(ip ro get fibmatch 0.0.0.1 | grep -o "dev [^ ]\+") | grep -o "[^ \.]\+\.[^/]\+")
echo $EVI_LIVE_EXTERN_HOST

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

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

ip -br a

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

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 автоматически установится в конфигурационном файле.

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

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

sudo -E dnf install evi-live-1.4.*.rpm evi-archive-1.4.*.rpm evi-analyzer-1.4.*.rpm

Переменная extern_host автоматически установится в конфигурационном файле.

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

cat /opt/evi-live/evi-live.conf | grep "extern_host"

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

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.

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

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

sudo dnf install evi-scud-1.4.*.rpm

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

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

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

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

sudo dnf install evi-core-web-1.4.*.rpm

Установка модуля Ядра для РЕД ОС

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

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

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

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

OSCPURAMSDDHDDLAN
RedOS 8.02 ядра 64-bit x864 GB100 GB100 GB100 Mb/s

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

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

sudo dnf install evi-core-1.4.*.rpm

Установка баз данных для РЕД ОС

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

База данных Postgresql

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

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

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

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

sudo dnf install postgresql17-server

sudo dnf install postgresql17-contrib


sudo postgresql-17-setup initdb

sudo systemctl enable postgresql-17.service --now

sudo systemctl status postgresql-17.service

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

sudo -u postgres createuser --interactive
core
y

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

sudo -u postgres psql


CREATE DATABASE core;
ALTER USER core WITH PASSWORD 'core';
ALTER USER core WITH SUPERUSER;
\quit

База данных ClickHouse

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

sudo tee /etc/yum.repos.d/clickhouse.repo << 'EOF' 
[clickhouse] 
name=ClickHouse Repository (RedOS 7.3) 
baseurl=https://mirror.yandex.ru/redos/7.3/x86_64/3rdparty/clickhouse/ 
enabled=1 
gpgcheck=0 
EOF
sudo dnf update
sudo dnf repolist | grep clickhouse


sudo dnf clean all
sudo dnf makecache


sudo dnf search clickhouse
sudo dnf install clickhouse-common-static-25.1.4.53


sudo dnf install clickhouse-server-25.1.4.53


sudo dnf install clickhouse-client-25.1.4.53
 sudo systemctl enable clickhouse-server.service


sudo systemctl restart clickhouse-server.service


 sudo sed -i 's|<password></password>|<password>core</password>|g' /etc/clickhouse-server/users.xml


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"

Подготовка РЕД ОС к установке

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

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

sudo timedatectl set-timezone Asia/Novosibirsk

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

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

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

sudo dnf update && sudo dnf upgrade -y

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

curl --insecure -O https://archive.eltex-co.ru/evi-raw/evi-1.4.1/evi-1.4.1_redos.tar
tar -xvf evi-1.4.0_redos.tar