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

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
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.

.log
Блок кода
languagebash
title/opt/evi-core/evi-core.conf
linenumberstrue
[api]
listen=127.0.0.1
linenumberstrue
/var/log/evi-core/evi-core.log
{
        hourly
        size 100M
        dateext
        dateformat -%Y-%m-%d_%H-%s
        missingok
        rotate 15
      # Адрес или интерфейс HTTPS API (* - all interfaces) (ENV: EVICORE_API_LISTEN)
port=7000                     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        # Порт для 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_EVILIVE_APIRPC_LISTENHOST)
rpc_port=7000 7202                            # ПортRPC дляпорт HTTPSevi-live API (ENV: EVICORE_APIEVILIVE_RPC_PORT)

[sslevi-archive]
certrpc_file=/opt/evi-core/ssl/cert.crt  # Файл сертификата (ENV: EVICORE_SSL_CERT_FILE)
key_file=/opt/evi-core/ssl/cert.keyhost=127.0.0.1                    # ФайлАдрес ключаevi-archive сертификата (ENV: EVICORE_SSLEVIARCHIVE_KEYRPC_FILEHOST)
# pem=123rpc_port=7302                         # RPC порт evi-archive (ENV: EVICORE_EVIARCHIVE_RPC_PORT)

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

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

Модуль 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.1            key_file=/opt/evi-scud/ssl/cert.key     # Файл ключа     # PostgreSQL адрес сертификата (ENV: EVICOREEVISCUD_SSL_POSTGRESQLKEY_HOSTFILE)
port=5432# pem=123                               # Парольная PostgreSQL портфраза сертификата (опционально) (ENV: EVICOREEVISCUD_POSTGRESQLSSL_PORTPEM)

[log]
dbname=core                           # PostgreSQL имя базы (ENV: EVICORE_POSTGRESQL_DBNAME)
username=corelevel=info                             # PostgreSQLУровень пользовательлогов (ENV: EVICOREEVISCUD_POSTGRESQLLOG_USERNAMELEVEL)
password=corefile=/var/log/evi-scud/evi-scud.log     # Путь до                  # PostgreSQL пароль лог файла (ENV: EVICOREEVISCUD_POSTGRESQLLOG_PASSWORDFILE)

[clickhousepostgresql]
host=127.0.0.1                          # ClickhousePostgreSQL адрес (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_HOST)
port=90005432                               # ClickhousePostgreSQL порт (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_PORT)
dbname=core                             # ClickhousePostgreSQL имя базы (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_DBNAME)
username=core                           # ClickhousePostgreSQL пользователь (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_USERNAME)
password=core                           # ClickhousePostgreSQL пароль (ENV: EVICOREEVISCUD_CLICKHOUSEPOSTGRESQL_PASSWORD)

[evi-scudrpc]
rpc_hostlisten=127.0.0.1                        # Адрес evi-scud или интерфейс для RPC (* - все) (ENV: EVICORE_EVISCUD_RPC_HOSTLISTEN)
rpc_port=7102                               # TCP RPCSSL порт evi-scudдля RPC (ENV: EVICORE_EVISCUD_RPC_PORT)

[evi-analyticsevents]
rpc_hostlisten=127.0.0.1                                        # Адрес evi-analyticsили интерфейс для событий (* - все) (ENV: EVICOREEVISCUD_EVIANALYTICSEVENTS_RPC_HOSTLISTEN)
rpc_port=74027104                               # TCP RPCSSL порт для evi-analyticsсобытий (ENV: EVICOREEVISCUD_EVIANALYTICSEVENTS_RPC_PORT)

[evi-livecontroller]
rpc_host=127.0.0.1listen=*                                # Адрес evi-live или интерфейс для связи с IPAER (* - все) (ENV: EVICOREEVISCUD_EVILIVECONTROLLER_RPC_HOSTLISTEN)
rpc_port=72027105                               # RPCTCP порт evi-live для связи с IPAER (ENV: EVICOREEVISCUD_EVILIVECONTROLLER_RPC_PORT)

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

Модуль evi-live

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

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[api]
listen=*HOST)
rpc_port=7302                         # RPC порт evi-archive (ENV: EVICORE_EVIARCHIVE_RPC_PORT)

[evi-analyzer]
rpc_host=127.0.0.1     # Адрес или интерфейс HTTPS API for HTTPS API (* - all    # Адрес evi-analyzer interfaces) (ENV: EVICOREEVILIVE_EVIANALYZER_RPCAPI_HOST)
rpc_port=75027200                            # Порт RPCдля портHTTPS evi-analyzerAPI (ENV: EVICOREEVILIVE_EVIANALYZER_RPCAPI_PORT)

Модуль evi-scud

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

Блок кода
languagebash
title/opt/evi-scud/evi-scud.conf
linenumberstrue
[ssl]
cert_file=/opt/evi-scudlive/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=*                                # Адрес или интерфейс для связи с IPAER (* - все) (ENV: EVISCUD_CONTROLLER_LISTEN)
port=7105extern_host=127.0.0.1           # Внешний или прокси адрес (ENV: EVILIVE_GLOBAL_EXTERN_HOST)
extern_port_rtsp_tcp=7260            # Внешний или прокси порт               # TCP порт для связи с IPAER RTSP TCP (ENV: EVISCUDEVILIVE_GLOBAL_CONTROLLEREXTERN_PORT_RTSP_TCP)
sslextern_port_rtmp=80857250                # Внешний или         # TCP SSL прокси порт для связи с IPAER RTMP (ENV: EVISCUDEVILIVE_CONTROLLERGLOBAL_SSL_PORT)

Модуль evi-live

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

Блок кода
languagebash
title/opt/evi-live/evi-live.conf
linenumberstrue
[api]
listen=*EXTERN_PORT_RTMP)
extern_port_webrtc_tcp=7285          # Внешний или прокси порт WebRTC TCP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_TCP)
extern_port_webrtc_udp=7285           # АдресВнешний или интерфейспрокси HTTPSпорт APIWebRTC for HTTPSUDP API (* - all interfaces) (ENV: EVILIVE_API_HOSTGLOBAL_EXTERN_WEBRTC_UDP)
extern_port_api=7200                            # Внешний Портили дляпрокси HTTPSпорт API (ENV: EVILIVE_GLOBAL_APIEXTERN_PORT_API)

[ssl]
cert_file=/opt/evi-live/ssl/cert.crt # Файл сертификата (ENV: EVILIVE_SSL_CERT_FILE)
key_file=/opt/evi-live/ssl/cert.key  # Файл ключа сертификата (ENV: EVILIVE_SSL_KEY_FILE)
# pem=123rtsp]
listen=*                             # ПарольнаяАдрес или фразаинтерфейс сертификатаRTSP (опционально* - все) (ENV: EVILIVE_SSLRTSP_PEMHOST)

[log]
level=infotcp_port=7260                        # TCP #порт Уровеньдля логовRTSP (ENV: EVILIVE_LOG_LEVEL)
file=/var/log/evi-live/evi-live.log  # Путь до лог файла (ENV: EVILIVE_LOG_FILERTSP_TCP_PORT)

[postgresqlrtmp]
host=127.0.0.1listen=*                             # PostgreSQL адресАдрес или интерфейс для RTMP (* - all interfaces) (ENV: EVILIVE_POSTGRESQLRTMP_HOST)
port=54327250                            # PostgreSQLTCP порт для RTMP (ENV: EVILIVE_POSTGRESQLRTMP_PORT)

[webrtc]
dbnamelisten=core*                            # PostgreSQL имя базыАдрес или интерфейс для WebRTC (* - all interfaces) (ENV: EVILIVE_POSTGRESQLWEBRTC_DBNAMEHOST)
username=coretcp_port=7285                       # TCP #порт PostgreSQLдля пользовательWebRTC (ENV: EVILIVE_POSTGRESQLWEBRTC_TCP_USERNAMEPORT)
passwordudp_port=core7285                       # #UDP порт PostgreSQLдля парольWebRTC (ENV: EVILIVE_POSTGRESQLWEBRTC_UDP_PASSWORD)

[rpc]
listen=127.0.0.1                     # Адрес или интерфейс для RPC (* - все) (ENV: EVILIVE_RPC_HOST)
port=7202                     PORT)

Модуль 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       # TCP SSL порт для RPC (ENV: EVILIVE_RPC_PORT)

[events]
listen=127.0.0.1                     # АдресПарольная илифраза интерфейссертификата для событий (* - все(опционально) (ENV: EVILIVEEVIARCHIVE_EVENTSSSL_HOST)
port=7204      PEM)

[log]
level=info                      # TCP SSL порт для событий (ENV: EVILIVE_EVENTS_PORT)

[global]
extern_host=127.0.0.1           # Внешний или прокси адрес Уровень логов(ENV: EVILIVEEVIARCHIVE_GLOBALLOG_EXTERN_HOSTLEVEL)
extern_port_rtsp_tcp=7260            # Внешний или прокси порт RTSP TCP file=/var/log/evi-archive/evi-archive.log # Путь до лог файла (ENV: EVILIVEEVIARCHIVE_GLOBAL_EXTERN_PORT_RTSP_TCP)
extern_port_rtmp=7250LOG_FILE)

[rpc]
listen=127.0.0.1                # Внешний или прокси порт RTMP (ENV: EVILIVE_GLOBAL_EXTERN_PORT_RTMP)
extern_port_webrtc_tcp=7285   #       # Внешний или прокси порт WebRTC TCPАдрес или интерфейс для RPC (* - все) (ENV: EVILIVEEVIARCHIVE_GLOBAL_EXTERN_WEBRTC_TCPRPC_HOST)
extern_port_webrtc_udp=7285  =7302        # Внешний или прокси порт WebRTC UDP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_UDP)
extern_port_api=7200                 # ВнешнийTCP илиSSL проксипорт портдля APIRPC (ENV: EVILIVEEVIARCHIVE_GLOBALRPC_EXTERN_PORT_API)

[rtspevents]
listen=*   127.0.0.1                          # Адрес или интерфейс для RTSPсобытий (* - все) (ENV: EVILIVEEVIARCHIVE_RTSPEVENTS_HOST)
tcp_port=72607304                                 # TCP SSL порт для RTSPсобытий (ENV: EVILIVEEVIARCHIVE_RTSP_TCPEVENTS_PORT)

[rtmparchive]
listen=*             path=./archive                # Адрес или интерфейс для RTMP (* - all interfaces) (ENV: EVILIVE_RTMP_HOST)
port=7250                # Путь до директории архива (ENV: EVIARCHIVE_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           # TCPФайл порт длясертификата RTMP (ENV: EVILIVEEVIANALYZER_SSL_RTMPCERT_PORTFILE)

[webrtc]
listen=*key_file=/opt/evi-analyzer/ssl/cert.key     # Файл ключа сертификата (ENV:               EVIANALYZER_SSL_KEY_FILE)
# pem=123    # Адрес или интерфейс для WebRTC (* - all interfaces) (ENV: EVILIVE_WEBRTC_HOST)
tcp_port=7285                       # TCPПарольная портфраза длясертификата WebRTC(опционально) (ENV: EVILIVEEVIANALYZER_WEBRTCSSL_TCP_PORT)
udp_port=7285PEM)

[log]
level=info                              # UDP порт для# WebRTCУровень логов(ENV: EVILIVEEVIANALYZER_WEBRTC_UDP_PORT)

Модуль 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.keyLOG_LEVEL)
file=/var/log/evi-analyzer/evi-analyzer.log # Путь до лог файла (ENV: EVIANALYZER_LOG_FILE)

[postgresql]
host=127.0.0.1                              # ФайлPostgreSQL ключа сертификатаадрес (ENV: EVIARCHIVEEVIANALYZER_SSLPOSTGRESQL_KEY_FILEHOST)
# pemport=1235432                                 # Парольная фраза# сертификатаPostgreSQL (опционально)порт (ENV: EVIARCHIVEEVIANALYZER_SSLPOSTGRESQL_PEMPORT)

[log]
level=info dbname=core                              # Уровень логов(ENV: EVIARCHIVE_LOG_LEVEL)
file=/var/log/evi-archive/evi-archive.log # ПутьPostgreSQL доимя лог файлабазы (ENV: EVIARCHIVEEVIANALYZER_LOGPOSTGRESQL_FILEDBNAME)

[rpc]
listen=127.0.0.1username=core                          # Адрес или интерфейс для RPC# (*PostgreSQL -пользователь все) (ENV: EVIARCHIVEEVIANALYZER_RPCPOSTGRESQL_HOSTUSERNAME)
port=7302     password=core                            # TCP SSL порт# дляPostgreSQL RPCпароль (ENV: EVIARCHIVEEVIANALYZER_RPCPOSTGRESQL_PORTPASSWORD)

[eventsrpc]
listen=127.0.0.1                            # Адрес или интерфейс для событийRPC (* - всеall interfaces) (ENV: EVIARCHIVEEVIANALYZER_EVENTSRPC_HOST)
port=7304                        7502         # TCP SSL порт для событий (ENV: EVIARCHIVE_EVENTS_PORT)

[archive]
path=./archive                             # TCP ПутьSSL допорт директориидля архиваRPC (ENV: EVIARCHIVEEVIANALYZER_ARCHIVERPC_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    # Файл сертификата (ENV: EVIANALYZER_SSL_CERT_FILE)
key_file=/opt/evi-analyzer/ssl/cert.keyPORT)

[events]
listen=127.0.0.1                            # Файл ключа сертификата Адрес или интерфейс для событий  (* - all interfaces) (ENV: EVIANALYZER_SSLEVENTS_KEY_FILEHOST)
# pemport=1237504                                   # ПарольнаяTCP SSL фразапорт сертификатадля (опционально)событий (ENV: EVIANALYZER_SSLEVENTS_PEM)

[log]
level=info      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 # Уровень логов(ENV: EVIANALYZER_LOG_LEVEL)
file=/var/log/evi-analyzer/evi-analyzer.log # Путь до лог файла (ENV: EVIANALYZER_LOG_FILE)

[postgresql]
host=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;

     # PostgreSQL адрес (ENV: EVIANALYZER_POSTGRESQL_HOST)
port=5432root /usr/share/evi-core-web/www/browser;

        index index.html;

        server_name $hostname $server_addr 127.0.0.1 localhost;

        location /assets/config.json {
      # PostgreSQL порт (ENV: EVIANALYZER_POSTGRESQL_PORT)
dbname=core      set $apiAddress $scheme://$http_host;
                set $wsAddress wss://$http_host;
       # PostgreSQL имя базы (ENV: EVIANALYZER_POSTGRESQL_DBNAME)
username=core    default_type application/json;
                return 200 "{\"api\": \"$apiAddress/api/v1\", \"ws\": \"$wsAddress/api/v1\", \"tablet\": true}";
    # PostgreSQL пользователь (ENV: EVIANALYZER_POSTGRESQL_USERNAME)
password=core }

        location / {
                # kill browser cache for all html pages
 # PostgreSQL пароль (ENV: EVIANALYZER_POSTGRESQL_PASSWORD)

[rpc]
listen=127.0.0.1           add_header Last-Modified $date_gmt;
               # Адрес или интерфейс для RPC (* - all interfaces) (ENV: EVIANALYZER_RPC_HOST)
port=7502add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
                if_modified_since off;
                expires off;
       #    TCP SSL порт для RPC (ENV: EVIANALYZER_RPC_PORT)

[events]
listen=127.0.0.1etag off;

                try_files $uri $uri/ /index.html;

         # Адреснастройки или интерфейс для событийapi:
  (* - all interfaces) (ENV: EVIANALYZER_EVENTS_HOST)
port=7504    location /api/v1 {
                # включаем прокси  брать API-запросы с указанного URL:
         # 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 {
proxy_pass https://localhost:7000;
                proxy_http_version 1.1;
                proxy_set_header listenUpgrade 80$http_upgrade;
                proxy_set_header listen [::]:80Connection "upgrade";
        return 301 https://$host$request_uri;

        server_name $hostname $server_addr 127.0.0.1 localhost;
}

server {
proxy_set_header Host $host;
         listen 443 ssl;
     proxy_set_header   ssl_certificate /etc/ssl/certs/evi-core-web.crtX-Forwarded-For $proxy_add_x_forwarded_for;
        ssl_certificate_key /etc/ssl/private/evi-core-web.key;

        root /usr/share/evi-core-web/www/browserproxy_set_header X-Real-IP $remote_addr;

        index index.html;

       # server_nameлимит $hostnameв $server_addr 127.0.0.1 localhost;

        location /assets/config.json {5 МБ для загрузки файлов с клиента на сервер
                set $apiAddress $scheme://$http_host;
client_max_body_size 5M;
        }

        # Отдельная setнастройка $wsAddressдля wss:/api/v1/$http_host;firmware
        location /api/v1/firmware {
      default_type application/json;
         # включаем прокси     return 200 "{\"api\": \"$apiAddress/api/v1\", \"ws\": \"$wsAddress/api/v1\", \"tablet\": true}";— брать API-запросы с указанного URL:
        }

        location / {proxy_pass https://localhost:7000;

                # kill browser cache for all html pages
 Увеличенный лимит для загрузки прошивки
                client_max_body_size 15M;
        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:}
}

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

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

Блок кода
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="<путь до ключа>"}

Ротация 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
{
        hourly
        size 100M
        dateext
                proxy_pass https://localhost:7000;

dateformat -%Y-%m-%d_%H-%s
        missingok
        # Увеличенный лимит для загрузки прошивкиrotate 15
                client_max_body_size 15M;
        }
}

copytruncate
		compress
        notifempty
}

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

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