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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue

Версия ПО 1.5.0

Ротация log-файлов

Лог-файлы сервисов располагаются в папке /var/log/имя-сервиса.

Примечание

Сервисы EVI не выполняют автоматическую ротацию логов. 

Для настройки ротации используйте утилиту logrotate в соответствии с требованиями вашей системы.

...

Оглавление

Конфигурационные файлы
Якорь
configfiles
configfiles

СервисПуть до конфигурационного файла
evi-core/opt

...

/evi-core/evi-core.

...

conf
evi-core-web/etc/angie/http.d/evi-core-web.

...

conf

...

evi-scud

...

/opt/evi-scud/evi-scud.conf
evi-live/opt/evi-

...

live/evi-live.conf
evi-archive/opt/evi-archive/evi-archive.conf
evi-analyzer/opt/evi-analyzer/evi-analyzer.conf

Модуль ядра evi-core

Конфигурационный файл evi-core располагается в /opt/evi-core/evi-core.conf.

Блок кода
languagebash
title/opt/evi-core/evi-core.conf
linenumberstrue
[api]
listen=127.0.0.1core.log
{
        hourly
        size 100M
        dateext
        dateformat -%Y-%m-%d_%H-%s
        missingok
        rotate 15
      #  copytruncate
		compress
        notifempty
}

Пояснение параметров:

...

Порты доступа к сервисам

При настройке межсетевого экрана необходимо выделить следующие порты:

Управление

  1. 80
  2. 443

СКУД

  1. 8085

Видео трафик

  1. 7260
  2. 7250
  3. 7285

Видео сервисы

  1. 7302
  2. 7202

Директория для сохранения видеоархива

Для настройки директории необходимо перейти в редактирование конфигурационного файла:

Блок кода
languagebash
/opt/evi-archive/evi-archive.conf

И указать в разделе [archive] у параметра  path директорию в которой будет храниться архив:

Блок кода
languagebash
linenumberstrue
[archive]
path=./archive

Программа поддерживает только один путь сохранения.

Как подключить несколько дисков

Если требуется использовать несколько дисков, необходимо объединить их на уровне ОС Linux с помощью монтирования в общую папку.

  1. Подключите дополнительные диски.
  2. Создайте общий mount-путь, например: /mnt/archive
  3. Объедините диски в один логический путь через:
    1. LVM — объединение в единый том,
    2. RAID (например, RAID 0 или RAID 5) — для распределения данных,
    3. или bind-монтирование нескольких разделов в подкаталоги общей папки.

Укажите этот путь в конфигурации:

Блок кода
languagebash
linenumberstrue
[archive]
path=/mnt/archive

Убедитесь, что у программы есть права на чтение/запись в папку.

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

Структура хранения файлов

Сохраняемый архив в директорию на сервере имеет внутренний формат .arc.

archive/live/{camera_id}/{date}.arc

Просмотр архивных файлов

Экспорт, просмотр архива производится с помощью evi-video-client.

Подробнее можно узнать в разделе Просмотр архива.

Загрузка SSL-сертификатов

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

Сервис evi-core

Перейдите в редактирование конфигурационного файла /opt/evi-core/evi-core.conf.

Укажите путь в разделе [ssl] у параметров crt и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-core/evi-core.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-scud

Перейдите в редактирование конфигурационного файла /opt/evi-scud/evi-scud.conf.

Укажите в разделе [ssl] у параметров crt и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-scud/evi-scud.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-live

Перейдите в редактирование конфигурационного файла /opt/evi-live/evi-live.conf.

Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-archive

Перейти в редактирование конфигурационного файла /opt/evi-archive/evi-archive.conf.

Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-archive/evi-archive.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-analyzer

Перейти в редактирование конфигурационного файла /opt/evi-analyzer/evi-analyzer.conf.

Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-analyzer/evi-analyzer.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-core-web

Перейдите в редактирование конфигурационного файла /etc/angie/http.d/evi-core-web.conf .

Укажите у параметров ssl_certificate и ssl_certificate_key путь до сертификата и ключа:

Блок кода
languagebash
title/etc/angie/http.d/evi-core-web.conf
linenumberstrue
ssl_certificate <путь до сертификата>;
ssl_certificate_key <путь до сертификата>;

Сервис evi-analytics

Перейдите в редактирование файла evi-analytics_1.4.0_docker-compose.sh .

Укажите в переменных:

Блок кода
languagebash
titleevi-analytics_1.4.0_docker-compose.sh
linenumberstrue
  #EVI-ANALYTICS CONFIG SECTION [ssl]
  : ${EVIANALYTICS_SSL_CERT_FILE="<путь до сертификата>"}
  : ${EVIANALYTICS_SSL_KEY_FILE="<путь до ключа>"}

...

Модуль ядра evi-core

Конфигурационный файл evi-core располагается в /opt/evi-core/evi-core.conf.

Блок кода
languagebash
title/opt/evi-core/evi-core.conf
linenumberstrue
[api]
listen=127.0.0.1  Адрес или интерфейс HTTPS API (* - all interfaces) (ENV: EVICORE_API_LISTEN)
port=7000                             # Порт для HTTPS API (ENV: EVICORE_API_PORT)

[ssl]
cert_file=/opt/evi-core/ssl/cert.crt  # Файл сертификата (ENV: EVICORE_SSL_CERT_FILE)
key_file=/opt/evi-core/ssl/cert.key   # Файл ключа сертификата (ENV: EVICORE_SSL_KEY_FILE)
# pem=123                             # Парольная фраза сертификата (опционально) (ENV: EVICORE_SSL_PEM)

[log]
level=info                            # Уровень логов (ENV: EVICORE_LOG_LEVEL)
file=/var/log/evi-core/evi-core.log   # Путь до лог файла (ENV: EVICORE_LOG_FILE)

[postgresql]
host=127.0.0.1                        # PostgreSQL адрес (ENV: EVICORE_POSTGRESQL_HOST)
port=5432                             # PostgreSQL порт (ENV: EVICORE_POSTGRESQL_PORT)
dbname=core                           # PostgreSQL имя базы (ENV: EVICORE_POSTGRESQL_DBNAME)
username=core                         # PostgreSQL пользователь (ENV: EVICORE_POSTGRESQL_USERNAME)
password=core                         # PostgreSQL пароль (ENV: EVICORE_POSTGRESQL_PASSWORD)

[clickhouse]
host=127.0.0.1                        # Clickhouse адрес (ENV: EVICORE_CLICKHOUSE_HOST)
port=9000                             # Clickhouse порт (ENV: EVICORE_CLICKHOUSE_PORT)
dbname=core                           # Clickhouse имя базы (ENV: EVICORE_CLICKHOUSE_DBNAME)
username=core                         # Clickhouse пользователь (ENV: EVICORE_CLICKHOUSE_USERNAME)
password=core                         # Clickhouse пароль (ENV: EVICORE_CLICKHOUSE_PASSWORD)

[evi-scud]
rpc_host=127.0.0.1                    # Адрес evi-scud (ENV: EVICORE_EVISCUD_RPC_HOST)
rpc_port=7102                         # RPC порт evi-scud (ENV: EVICORE_EVISCUD_RPC_PORT)

[evi-analytics]
rpc_host=127.0.0.1                    # Адрес evi-analytics (ENV: EVICORE_EVIANALYTICS_RPC_HOST)
rpc_port=7402                         # RPC порт evi-analytics (ENV: EVICORE_EVIANALYTICS_RPC_PORT)

[evi-live]
rpc_host=127.0.0.1                    # Адрес или интерфейс HTTPS API (* - all interfaces)evi-live (ENV: EVICORE_APIEVILIVE_LISTENRPC_HOST)
rpc_port=7000   7202                          # ПортRPC для HTTPS APIпорт evi-live (ENV: EVICORE_EVILIVE_APIRPC_PORT)

[sslevi-archive]
certrpc_file=/opt/evi-core/ssl/cert.crthost=127.0.0.1                    # ФайлАдрес сертификатаevi-archive (ENV: EVICORE_SSLEVIARCHIVE_CERTRPC_FILEHOST)
keyrpc_file=/opt/evi-core/ssl/cert.keyport=7302                         # ФайлRPC ключапорт сертификатаevi-archive (ENV: EVICORE_SSLEVIARCHIVE_KEYRPC_FILE)
# pem=123         PORT)

[evi-analyzer]
rpc_host=127.0.0.1                    # Парольная фраза сертификата (опционально)Адрес evi-analyzer (ENV: EVICORE_EVIANALYZER_SSLRPC_PEMHOST)

[log]
level=inforpc_port=7502                         # RPC порт # Уровень логов evi-analyzer (ENV: EVICORE_EVIANALYZER_LOGRPC_LEVELPORT)
file=/var/log/evi-core/evi-core.log

Модуль evi-scud

Конфигурационный файл evi-scud располагается в /opt/evi-scud/evi-scud.conf.

Блок кода
languagebash
title/opt/evi-scud/evi-scud.conf
linenumberstrue
[ssl]
cert_file=/opt/evi-scud/ssl/cert.crt    # Путь до лог файлаФайл сертификата (ENV: EVICOREEVISCUD_SSL_LOGCERT_FILE)

[postgresql]
host=127.0.0.1key_file=/opt/evi-scud/ssl/cert.key     # Файл                  # PostgreSQL адрес ключа сертификата (ENV: EVICOREEVISCUD_SSL_POSTGRESQLKEY_HOSTFILE)
port=5432# pem=123                               # Парольная фраза PostgreSQLсертификата порт(опционально) (ENV: EVICOREEVISCUD_POSTGRESQLSSL_PORTPEM)

[log]
dbnamelevel=coreinfo                             # PostgreSQL имя базы Уровень логов (ENV: EVISCUD_LOG_LEVEL)
file=/var/log/evi-scud/evi-scud.log     # Путь до лог файла (ENV: EVICOREEVISCUD_POSTGRESQLLOG_DBNAMEFILE)

[postgresql]
username=corehost=127.0.0.1                          # PostgreSQL пользовательадрес (ENV: EVICOREEVISCUD_POSTGRESQL_USERNAMEHOST)
password=coreport=5432                               # PostgreSQL парольпорт (ENV: EVICOREEVISCUD_POSTGRESQL_PASSWORD)

[clickhouse]
host=127.0.0.1PORT)
dbname=core                             # PostgreSQL Clickhouseимя адресбазы (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_HOSTDBNAME)
portusername=9000  core                           # ClickhousePostgreSQL порт пользователь(ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_PORTUSERNAME)
dbnamepassword=core                           # ClickhousePostgreSQL имя базыпароль (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_DBNAMEPASSWORD)

[rpc]
username=corelisten=127.0.0.1                        # Адрес или интерфейс для RPC #(* Clickhouse- пользовательвсе) (ENV: EVICOREEVISCUD_CLICKHOUSERPC_USERNAMELISTEN)
password=coreport=7102                               # Clickhouse парольTCP SSL порт для RPC (ENV: EVICOREEVISCUD_CLICKHOUSERPC_PASSWORDPORT)

[evi-scudevents]
rpc_hostlisten=127.0.0.1                        # Адрес evi-scud или интерфейс для событий (* - все) (ENV: EVICORE_EVISCUD_RPCEVENTS_HOSTLISTEN)
rpc_port=71027104                               # TCP RPCSSL порт для evi-scudсобытий (ENV: EVICORE_EVISCUD_RPCEVENTS_PORT)

[evi-analyticscontroller]
rpc_host=127.0.0.1                listen=*            # Адрес evi-analytics (ENV: EVICORE_EVIANALYTICS_RPC_HOST)
rpc_port=7402                # Адрес или интерфейс для связи с IPAER (* # RPC порт evi-analytics- все) (ENV: EVICOREEVISCUD_EVIANALYTICSCONTROLLER_RPC_PORTLISTEN)

[evi-live]
rpc_host=127.0.0.1port=7105                       # Адрес evi-live (ENV: EVICORE_EVILIVE_RPC_HOST)
rpc_port=7202    # TCP порт для связи с                # RPC порт evi-live IPAER (ENV: EVICOREEVISCUD_EVILIVECONTROLLER_RPC_PORT)

[evi-archive]
rpc_host=127.0.0.1ssl_port=8085                    # Адрес evi-archive (ENV: EVICORE_EVIARCHIVE_RPC_HOST)
rpc_port=7302   # TCP SSL порт для связи с                # RPC порт evi-archive IPAER (ENV: EVICOREEVISCUD_EVIARCHIVECONTROLLER_RPCSSL_PORT)

[evi-analyzer]
rpc_host=127.0.0.1           

Модуль evi-live

Конфигурационный файл evi-live располагается в /opt/evi-live/evi-live.conf.

Примечание

Убедитесь, что значение extern_host соответствует внешнему IP-адресу или доменному имени сервера, по которому клиенты подключаются к системе (параметр может изменится при Миграции)

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[api]
listen=*                # Адрес evi-analyzer (ENV: EVICORE_EVIANALYZER_RPC_HOST)
rpc_port=7502                      # Адрес или #интерфейс RPCHTTPS портAPI evi-analyzer (ENV: EVICORE_EVIANALYZER_RPC_PORT)

Модуль evi-scud

...

for HTTPS API (* - all interfaces) (ENV: EVILIVE_API_HOST)
port=7200                            # Порт для HTTPS API (ENV: EVILIVE_API_PORT)

[ssl]
cert_file=/opt/evi-

...

Блок кода
languagebash
title/opt/evi-scud/evi-scud.conf
linenumberstrue
[ssl]
cert_file=/opt/evi-scud/ssl/live/ssl/cert.crt    # Файл сертификата (ENV: EVISCUDEVILIVE_SSL_CERT_FILE)
key_file=/opt/evi-scudlive/ssl/cert.key     # Файл ключа сертификата (ENV: EVISCUDEVILIVE_SSL_KEY_FILE)
# pem=123                               # Парольная фраза сертификата (опционально) (ENV: EVISCUDEVILIVE_SSL_PEM)

[log]
level=info                             # Уровень логов (ENV: EVISCUDEVILIVE_LOG_LEVEL)
file=/var/log/evi-scudlive/evi-scudlive.log     # Путь до лог файла (ENV: EVISCUDEVILIVE_LOG_FILE)

[postgresql]
host=127.0.0.1                          # PostgreSQL адрес (ENV: EVISCUDEVILIVE_POSTGRESQL_HOST)
port=5432                               # PostgreSQL порт (ENV: EVISCUDEVILIVE_POSTGRESQL_PORT)
dbname=core                             # PostgreSQL имя базы (ENV: EVISCUDEVILIVE_POSTGRESQL_DBNAME)
username=core                           # PostgreSQL пользователь (ENV: EVISCUDEVILIVE_POSTGRESQL_USERNAME)
password=core                           # PostgreSQL пароль (ENV: EVISCUDEVILIVE_POSTGRESQL_PASSWORD)

[rpc]
listen=127.0.0.1                        # Адрес или интерфейс для RPC (* - все) (ENV: EVISCUDEVILIVE_RPC_LISTENHOST)
port=7102   7202                            # TCP SSL порт для RPC (ENV: EVISCUDEVILIVE_RPC_PORT)

[events]
listen=127.0.0.1                        # Адрес или интерфейс для событий (* - все) (ENV: EVISCUDEVILIVE_EVENTS_LISTENHOST)
port=7104  7204                             # TCP SSL порт для событий (ENV: EVISCUDEVILIVE_EVENTS_PORT)

[controllerglobal]
listen=*            extern_host=127.0.0.1           # Внешний или прокси адрес (ENV: EVILIVE_GLOBAL_EXTERN_HOST)
extern_port_rtsp_tcp=7260            # Внешний или прокси порт RTSP TCP  # Адрес или интерфейс для связи с IPAER (* - все) (ENV: EVISCUD_CONTROLLER_LISTEN)
port=7105(ENV: EVILIVE_GLOBAL_EXTERN_PORT_RTSP_TCP)
extern_port_rtmp=7250                # Внешний или             # TCP порт для связи с IPAERпрокси порт RTMP (ENV: EVISCUDEVILIVE_GLOBAL_CONTROLLEREXTERN_PORT_RTMP)
sslextern_port_webrtc_tcp=80857285          # Внешний или прокси порт WebRTC TCP    (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_TCP)
extern_port_webrtc_udp=7285          # Внешний TCPили SSLпрокси порт для связи с IPAER WebRTC UDP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_UDP)
extern_port_api=7200                 # Внешний или прокси порт API (ENV: EVISCUDEVILIVE_CONTROLLERGLOBAL_SSLEXTERN_PORT)

Модуль evi-live

Конфигурационный файл evi-live располагается в /opt/evi-live/evi-live.conf.

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[api_API)

[rtsp]
listen=*                             # Адрес или интерфейс HTTPS API for HTTPS APIRTSP (* - all interfacesвсе) (ENV: EVILIVE_APIRTSP_HOST)
tcp_port=72007260                        # TCP   # Портпорт для HTTPS APIRTSP (ENV: EVILIVE_RTSP_APITCP_PORT)

[sslrtmp]
cert_file=/opt/evi-live/ssl/cert.crt # Файл сертификата (ENV: EVILIVE_SSL_CERT_FILE)
key_file=/opt/evi-live/ssl/cert.key  # Файл ключа сертификатаlisten=*                             # Адрес или интерфейс для RTMP (* - all interfaces) (ENV: EVILIVE_SSLRTMP_KEY_FILEHOST)
# pemport=1237250                            # ПарольнаяTCP фразапорт сертификатадля (опционально)RTMP (ENV: EVILIVE_SSLRTMP_PEMPORT)

[logwebrtc]
levellisten=info*                            # УровеньАдрес логовили (ENV: EVILIVE_LOG_LEVEL)
file=/var/log/evi-live/evi-live.log  # Путь до лог файлаинтерфейс для WebRTC (* - all interfaces) (ENV: EVILIVE_LOGWEBRTC_FILEHOST)

[postgresql]
host=127.0.0.1tcp_port=7285                       # TCP порт PostgreSQLдля адресWebRTC (ENV: EVILIVE_WEBRTC_POSTGRESQLTCP_HOSTPORT)
udp_port=54327285                       # UDP порт для  # PostgreSQL порт WebRTC (ENV: EVILIVE_WEBRTC_POSTGRESQLUDP_PORT)
dbname=core        

Модуль evi-archive

Конфигурационный файл evi-archive располагается в /opt/evi-archive/evi-archive.conf.

Блок кода
languagebash
title/opt/evi-archive/evi-archive.conf
linenumberstrue
[ssl]
cert_file=/opt/evi-archive/ssl/cert.crt   # Файл сертификата (ENV: EVIARCHIVE_SSL_CERT_FILE)
key_file=/opt/evi-archive/ssl/cert.key    # Файл ключа сертификата (ENV: EVIARCHIVE_SSL_KEY_FILE)
# pem=123        # PostgreSQL имя базы (ENV: EVILIVE_POSTGRESQL_DBNAME)
username=core                     # Парольная фраза # PostgreSQL пользовательсертификата (опционально) (ENV: EVILIVEEVIARCHIVE_POSTGRESQLSSL_USERNAMEPEM)

[log]
passwordlevel=coreinfo                        # PostgreSQL пароль (ENV: EVILIVE_POSTGRESQL_PASSWORD    # Уровень логов(ENV: EVIARCHIVE_LOG_LEVEL)
file=/var/log/evi-archive/evi-archive.log # Путь до лог файла (ENV: EVIARCHIVE_LOG_FILE)

[rpc]
listen=127.0.0.1                          # Адрес или интерфейс для RPC (* - все) (ENV: EVILIVEEVIARCHIVE_RPC_HOST)
port=72027302                                 # TCP SSL порт для RPC (ENV: EVILIVEEVIARCHIVE_RPC_PORT)

[events]
listen=127.0.0.1                          # Адрес или интерфейс для событий (* - все) (ENV: EVILIVEEVIARCHIVE_EVENTS_HOST)
port=72047304                                 # TCP SSL порт для событий (ENV: EVILIVEEVIARCHIVE_EVENTS_PORT)

[globalarchive]
extern_hostpath=127.0.0.1           # Внешний или прокси адрес (ENV: EVILIVE_GLOBAL_EXTERN_HOST)
extern_port_rtsp_tcp=7260./archive                          # Внешний или# проксиПуть портдо RTSPдиректории TCPархива (ENV: EVILIVEEVIARCHIVE_ARCHIVE_PATH)

Модуль evi-analyzer

Конфигурационный файл evi-analyzer располагается в /opt/evi-analyzer/evi-analyzer.conf.

Блок кода
languagebash
title/opt/evi-analyzer/evi-analyzer.conf
linenumberstrue
[ssl]
cert_file=/opt/evi-analyzer/ssl/cert.crt    # Файл сертификатаGLOBAL_EXTERN_PORT_RTSP_TCP)
extern_port_rtmp=7250                # Внешний или прокси порт RTMP (ENV: EVILIVEEVIANALYZER_GLOBALSSL_EXTERNCERT_PORT_RTMPFILE)
extern_port_webrtc_tcp=7285     key_file=/opt/evi-analyzer/ssl/cert.key     # ВнешнийФайл илиключа прокси порт WebRTC TCP сертификата (ENV: EVILIVEEVIANALYZER_GLOBALSSL_EXTERNKEY_WEBRTC_TCPFILE)
extern_port_webrtc_udp=7285# pem=123          # Внешний или прокси порт WebRTC UDP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_UDP)
extern_port_api=7200                 # ВнешнийПарольная илифраза прокси порт APIсертификата (опционально) (ENV: EVILIVEEVIANALYZER_GLOBAL_EXTERN_PORT_APISSL_PEM)

[rtsplog]
listenlevel=*info                             # Адрес  или интерфейс# RTSPУровень логов(* - все)ENV: EVIANALYZER_LOG_LEVEL)
file=/var/log/evi-analyzer/evi-analyzer.log # Путь до лог файла (ENV: EVILIVEEVIANALYZER_RTSPLOG_HOSTFILE)
tcp_port=7260

[postgresql]
host=127.0.0.1                            # TCP порт# дляPostgreSQL RTSPадрес (ENV: EVILIVEEVIANALYZER_RTSPPOSTGRESQL_TCP_PORTHOST)

[rtmp]
listen=*port=5432                             # Адрес или интерфейс для RTMP (*# -PostgreSQL allпорт interfaces) (ENV: EVILIVEEVIANALYZER_RTMPPOSTGRESQL_HOSTPORT)
port=7250dbname=core                                 # TCPPostgreSQL портимя для RTMPбазы (ENV: EVILIVEEVIANALYZER_RTMPPOSTGRESQL_PORTDBNAME)

[webrtc]
listen=*username=core                            # Адрес или интерфейс# для WebRTC (* - all interfaces)PostgreSQL пользователь (ENV: EVILIVEEVIANALYZER_WEBRTCPOSTGRESQL_HOSTUSERNAME)
tcp_port=7285password=core                         # TCP порт для WebRTC (ENV: EVILIVE_WEBRTC_TCP_PORT)
udp_port=7285 # PostgreSQL пароль (ENV: EVIANALYZER_POSTGRESQL_PASSWORD)

[rpc]
listen=127.0.0.1                            # Адрес UDPили портинтерфейс для WebRTC RPC (* - all interfaces) (ENV: EVILIVEEVIANALYZER_WEBRTC_UDP_PORT)

Модуль evi-archive

Конфигурационный файл evi-archive располагается в /opt/evi-archive/evi-archive.conf.

...

RPC_HOST)
port=7502                                   # TCP SSL порт для RPC (ENV: EVIANALYZER_RPC_PORT)

[events]
listen=127.0.0.1                            # Адрес или интерфейс для событий  (* - all interfaces) (ENV: EVIANALYZER_EVENTS_HOST)
port=7504                                   # TCP SSL порт для событий (ENV: EVIANALYZER_EVENTS_PORT)

Модуль веб-интерфейса evi-core-web

Конфигурационный файл evi-core-web.conf располагается в /etc/angie/http.d/evi-core-web.conf:

Блок кода
languagebash
title/etc/angie/http.d/evi-core-web.conf
linenumberstrue
# evi-core-web configuration

server {
        listen 80;
        listen [::]:80;
        return 301 https://$host$request_uri;

        server_name $hostname $server_addr 127.0.0.1 localhost;
}

server {
        listen 443 ssl;
        ssl_certificate /etc/ssl/certs/evi-core-web.crt;
        ssl_certificate_key /etc/ssl/private/evi-core-web.key;

        root /usr/share/evi-core-web/www/browser;

        index index.html;

        server_name $hostname $server_addr 127.0.0.1 localhost;

        location /assets/config.json {
                set $apiAddress $scheme://$http_host;
                set $wsAddress wss://$http_host;
                default_type application/json;
                return 200 "{\"api\": \"$apiAddress/api/v1\", \"ws\": \"$wsAddress/api/v1\", \"tablet\": true}";
        }

        location / {
                # kill browser cache for all html pages
                add_header Last-Modified $date_gmt;
                add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
                if_modified_since off;
                expires off;
                etag off;

                try_files $uri $uri/ /index.html;

        # настройки для api:
        location /api/v1 {
                # включаем прокси — брать API-запросы с указанного URL:
                proxy_pass https://localhost:7000;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Real-IP $remote_addr;

                # лимит в 5 МБ для загрузки файлов с клиента на сервер
                client_max_body_size 5M;
        }

        # Отдельная настройка для /api/v1/firmware
        location /api/v1/firmware {
                # включаем прокси — брать API-запросы с указанного URL:
                proxy_pass https://localhost:7000;

                # Увеличенный лимит для загрузки прошивки
                client_max_body_size 15M;
        }
}

Директория для сохранения видеоархива

Для настройки директории необходимо перейдите в редактирование конфигурационного файла:

Блок кода
languagebash
/opt/evi-archive/evi-archive.conf

Укажите в разделе [archive] у параметра  path директорию, в которой будет храниться архив:

Блок кода
languagebash
linenumberstrue
[archive]
path=./archive

Программа поддерживает только один путь сохранения.

Как подключить несколько дисков

Если требуется использовать несколько дисков, необходимо объединить их на уровне ОС Linux с помощью монтирования в общую папку.

  1. Подключите дополнительные диски.
  2. Создайте общий mount-путь, например: /mnt/archive
  3. Объедините диски в один логический путь через:
    1. LVM — объединение в единый том,
    2. RAID (например, RAID 0 или RAID 5) — для распределения данных,
    3. или bind-монтирование нескольких разделов в подкаталоги общей папки.

Укажите этот путь в конфигурации:

Блок кода
languagebash
linenumberstrue
[archive]
path=/mnt/archive

Убедитесь, что у программы есть права на чтение/запись в папку.


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

Структура хранения файлов

Сохраняемый архив в директорию на сервере имеет внутренний формат .arc.

archive/live/{camera_id}/{date}.arc

Просмотр архивных файлов

Экспорт, просмотр архива производится с помощью evi-video-client.

Подробнее можно узнать в разделе Просмотр архива.

Загрузка SSL-сертификатов

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

Сервис evi-core

Перейдите в редактирование конфигурационного файла /opt/evi-core/evi-core.conf.

Укажите путь в разделе [ssl] у параметров crt и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-core/evi-core.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-scud

Перейдите в редактирование конфигурационного файла /opt/evi-scud/evi-scud.conf.

Укажите в разделе [ssl] у параметров crt и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-scud/evi-scud.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-live

Перейдите в редактирование конфигурационного файла /opt/evi-live/evi-live.conf.

Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-archive

Перейти в редактирование конфигурационного файла /opt/evi-archive/evi-archive.conf.

Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-archive/evi-archive.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Сервис evi-analyzer

Перейти в редактирование конфигурационного файла /opt/evi-analyzer/evi-analyzer.conf.

Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:

Блок кода
languagebash
title/opt/evi-analyzer/evi-analyzer.conf
linenumberstrue
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа>

Модуль evi-core-web

Перейдите в редактирование конфигурационного файла /etc/angie/http.d/evi-core-web.conf .

Укажите у параметров ssl_certificate и ssl_certificate_key путь до сертификата и ключа:

Блок кода
languagebash
title/etc/angie/http.d/evi-core-web.conf
linenumberstrue
ssl_certificate <путь до сертификата>;
ssl_certificate_key <путь до сертификата>;

Docker-контейнер evi-analytics

Перейдите в редактирование файла evi-analytics_1.5.0_docker-compose.sh .

Укажите в переменных:

Блок кода
languagebash
titleevi-analytics_1.5.0_docker-compose.sh
linenumberstrue
  #EVI-ANALYTICS CONFIG SECTION [ssl]
  : ${EVIANALYTICS_SSL_CERT_FILE="<путь до сертификата>"}
  : ${EVIANALYTICS_SSL_KEY_FILE="<путь до ключа>"}

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

Примечание

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

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

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

Image Added

  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.
    Блок кода

...

  1. title/opt/evi-

...

  1. core/evi-

...

  1. core.conf

...

  1. [

...

  1. postgresql]
    

...

  1. host=127.0.0.1          
    port=5432                             
    dbname=core              
    username=core                   

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  
    password=core
    
    [

...

  1. clickhouse]
    host=127.0.0.1                        
    port=9000                

...

  1.     

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1. 
    dbname=core                           

...

  1. 
    username=core 

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.                
    password=core                  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1. 
    
    [

...

  1. evi-scud]
    

...

  1. rpc_host=127.0.0.1                    

...

  1. 
    rpc_port=7102                 

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.   
    
    [

...

  1. evi-analytics]
    

...

  1. rpc_host=

...

  1. 192.168.50.35               
    rpc_port=7402              

...

  1.       

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

Модуль evi-analyzer

Конфигурационный файл evi-analyzer располагается в /opt/evi-analyzer/evi-analyzer.conf.

...

languagebash
title/opt/evi-analyzer/evi-analyzer.conf
linenumberstrue

...

  1.  
    
    [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   

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.            
    rpc_port=7502
  2. В конфигах postgres открываем базу для подключения с других адресов.
    Блок кода
    title/var/lib/pgsql/17/data/postgresql.conf
    # - Connection Settings -
    
    listen_addresses = '*' 
    Блок кода
    title/var/lib/pgsql/17/data/pg_hba.conf
    # TYPE  

...

  1. DATABASE        USER            ADDRESS                 METHOD
    
    # "local" is for 

...

  1. Unix 

...

  1. domain 

...

  1. socket 

...

  1. connections only
    local   all             all                                     trust
    # 

...

  1. IPv4 

...

  1. local 

...

  1. connections:
    host    all             all             127.0.0.1/32    

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.    trust
    host    core            core            

...

  1. 192.168.50.35/24        md5
    # IPv6 local connections:
    host    all             all       

...

  1.  

...

  1.  

...

  1.  

...

  1.    ::1/128                 trust
    # Allow replication connections from localhost, by a user with 

...

  1. the
    # replication privilege.
    local   replication     all                                     trust
    host    replication     all     

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.   127.0.0.1/32            trust
    host    replication     all          

...

  1.    ::1/128                 trust
  2. В конфиге evi-live прописываем адреса: базы данных, rpc, events, внешний IP.
    Блок кода
    title/opt/evi-live/evi-live.conf
    [postgresql]
    host=192.168.50.29                   
    port=5432                   

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

Модуль веб-интерфейса evi-core-web

Конфигурационный файл evi-core-web.conf располагается в /etc/angie/http.d/evi-core-web.conf:

...

languagebash
title/etc/angie/http.d/evi-core-web.conf
linenumberstrue

...

  1.    
    dbname=core                          
    username=core                        
    password=core              

...

  1.  

...

  1.         

...

  1.  
    
    [

...

  1. rpc]
    listen=192.168.50.250          

...

  1.  

...

  1.  

...

  1.     
    port=7202    

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.         

...

  1.  

...

  1.  

...

  1.         

...

  1.  
    
    [events]
    listen=192.168.50.250          

...

  1.       
    port=7204        

...

  1.  

...

  1.         

...

  1.  

...

  1.         

...

  1.  

...

  1.  
    
    [global]
    extern_host=192.168.50.250           
    extern_port_rtsp_tcp=7260          

...

  1.  
    extern_port_rtmp=7250               
    extern_port_webrtc_tcp=7285  

...

  1.  

...

  1.  

...

  1.       
    extern_port_webrtc_udp=7285          

...

  1. 
    extern_port_api=7200                

...

  1.  
    
    
  2. В конфиге evi-analyzer прописываем адреса: базы данных, rpc, events.
    Блок кода
    title/opt/evi-analyzer/evi-analyzer.conf
    [postgresql]
    host=192.168.50.29                

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.     

...

  1. 
    port=5432  

...

  1.         

...

  1.  

...

  1.  

...

  1.                 

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1. 
    

...

  1. dbname=core              

...

  1.  

...

  1.  

...

  1.                 

...

  1.  
    username=core                     

...

  1.  

...

  1.          
    password=core       

...

  1.  

...

  1.                 

...

  1.  

...

  1.       
    
    [rpc]
    listen=192.168.50.250          

...

  1.  

...

  1.  

...

  1.  

...

  1.         

...

  1.  

...

  1.  

...

  1.  

...

  1. 
    port=7502       

...

  1.                     

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  
    
    [events]
    listen=192.168.50.250                

...

  1.  

...

  1.            
    port=7504     

...

  1.  

...

  1.     

...

  1. 
    
  2. В конфиге evi-archive прописываем адреса rpc и events.
    Блок кода
    title/opt/evi-archive/evi-archive.conf
    [rpc]
    listen=192.168.50.250           

...

  1.  

...

  1.  

...

  1.             

...

  1. 
    port=7302                

...

  1.  

...

  1.  

...

  1.               

...

  1. 
    
    [events]
    listen=192.168.50.250               

...

  1.  

...

  1.  

...

  1.     
    port=7304            

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.  

...

  1.          
    
  2. В докер файле evi-analitycs прописываем адрес базы данных. 
    Блок кода
    titleevi-analytics_1.5.0_docker-compose.sh
    : ${EVIANALYTICS_POSTGRESQL_HOST="192.168.50.29"}
    : ${EVIANALYTICS_POSTGRESQL_DBNAME="core"}
    : ${EVIANALYTICS_POSTGRESQL_USERNAME="core"}
    : ${EVIANALYTICS_POSTGRESQL_PASSWORD="core"}
    
    
  3. Перезапускаем все сервисы, в том числе evi-analytics.
Подсказка
После внесения изменений в сервис требуется его перезагрузка.

Ротация log-файлов

Лог-файлы сервисов располагаются в папке /var/log/имя-сервиса.

Примечание

Сервисы EVI не выполняют автоматическую ротацию логов. 

Для настройки ротации используйте утилиту logrotate в соответствии с требованиями вашей системы.

Пример настроенной конфигурации для ротирования файла /var/log/evi-core/evi-core.log.

Блок кода
languagebash
titleФайл конфигурации /etc/logrotate.d/evi-core.log
linenumberstrue
/var/log/evi-core/evi-core.log
     client_max_body_size 5M;
        }

        # Отдельная настройка для /api/v1/firmware
        location /api/v1/firmware {
        hourly
        #size 100M
 включаем прокси  брать API-запросы с указанного URL:dateext
                proxy_pass https://localhost:7000;
dateformat -%Y-%m-%d_%H-%s
                # Увеличенный лимит для загрузки прошивкиmissingok
                client_max_body_size 15M;rotate 15
        }copytruncate
}

		compress
        notifempty
}

Пояснение параметров:

ПараметрОписание
hourlyротация каждый час
size 100Mротация при достижении размера 100 МБ
dateextдобавление даты к имени архивного лога
dateformatформат даты в имени файла
missingokне ошибка, если файл отсутствует
rotate 15хранить до 15 архивных копий
copytruncateкопировать и обрезать текущий лог (без перезапуска сервиса)
notifemptyне ротировать, если лог пуст