| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
Версия ПО 1.5.0 |
Ротация log-файлов
Лог-файлы сервисов располагаются в папке /var/log/имя-сервиса.
| Примечание |
|---|
Сервисы EVI не выполняют автоматическую ротацию логов. |
Для настройки ротации используйте утилиту logrotate в соответствии с требованиями вашей системы.
...
Конфигурационные файлы
| Якорь | ||||
|---|---|---|---|---|
|
| Сервис | Путь до конфигурационного файла |
|---|---|
| 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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[api]
listen=127.0.0.1 | .log||||||
| linenumbers | true | /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 } |
Пояснение параметров:
...
Порты доступа к сервисам
При настройке межсетевого экрана необходимо выделить следующие порты:
Управление
- 80
- 443
СКУД
- 8085
Видео трафик
- 7260
- 7250
- 7285
Видео сервисы
- 7302
- 7202
Директория для сохранения видеоархива
Для настройки директории необходимо перейти в редактирование конфигурационного файла:
| Блок кода | ||
|---|---|---|
| ||
/opt/evi-archive/evi-archive.conf |
И указать в разделе [archive] у параметра path директорию в которой будет храниться архив:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
[archive]
path=./archive |
Программа поддерживает только один путь сохранения.
Как подключить несколько дисков
Если требуется использовать несколько дисков, необходимо объединить их на уровне ОС Linux с помощью монтирования в общую папку.
- Подключите дополнительные диски.
- Создайте общий mount-путь, например: /mnt/archive
- Объедините диски в один логический путь через:
- LVM — объединение в единый том,
- RAID (например, RAID 0 или RAID 5) — для распределения данных,
- или bind-монтирование нескольких разделов в подкаталоги общей папки.
Укажите этот путь в конфигурации:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
[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 путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-scud
Перейдите в редактирование конфигурационного файла /opt/evi-scud/evi-scud.conf.
Укажите в разделе [ssl] у параметров crt и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-live
Перейдите в редактирование конфигурационного файла /opt/evi-live/evi-live.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-archive
Перейти в редактирование конфигурационного файла /opt/evi-archive/evi-archive.conf.
Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-analyzer
Перейти в редактирование конфигурационного файла /opt/evi-analyzer/evi-analyzer.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-core-web
Перейдите в редактирование конфигурационного файла /etc/angie/http.d/evi-core-web.conf .
Укажите у параметров ssl_certificate и ssl_certificate_key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
ssl_certificate <путь до сертификата>;
ssl_certificate_key <путь до сертификата>; |
Сервис evi-analytics
Перейдите в редактирование файла evi-analytics_1.4.0_docker-compose.sh .
Укажите в переменных:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
#EVI-ANALYTICS CONFIG SECTION [ssl]
: ${EVIANALYTICS_SSL_CERT_FILE="<путь до сертификата>"}
: ${EVIANALYTICS_SSL_KEY_FILE="<путь до ключа>"}
|
...
Модуль ядра evi-core
Конфигурационный файл evi-core располагается в /opt/evi-core/evi-core.conf.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
# 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:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
# 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:} } |
Директория для сохранения видеоархива
Для настройки директории необходимо перейти в редактирование конфигурационного файла:
| Блок кода | ||
|---|---|---|
| ||
/opt/evi-archive/evi-archive.conf |
И указать в разделе [archive] у параметра path директорию в которой будет храниться архив:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
[archive]
path=./archive |
Программа поддерживает только один путь сохранения.
Как подключить несколько дисков
Если требуется использовать несколько дисков, необходимо объединить их на уровне ОС Linux с помощью монтирования в общую папку.
- Подключите дополнительные диски.
- Создайте общий mount-путь, например: /mnt/archive
- Объедините диски в один логический путь через:
- LVM — объединение в единый том,
- RAID (например, RAID 0 или RAID 5) — для распределения данных,
- или bind-монтирование нескольких разделов в подкаталоги общей папки.
Укажите этот путь в конфигурации:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
[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 путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-scud
Перейдите в редактирование конфигурационного файла /opt/evi-scud/evi-scud.conf.
Укажите в разделе [ssl] у параметров crt и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-live
Перейдите в редактирование конфигурационного файла /opt/evi-live/evi-live.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-archive
Перейти в редактирование конфигурационного файла /opt/evi-archive/evi-archive.conf.
Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Сервис evi-analyzer
Перейти в редактирование конфигурационного файла /opt/evi-analyzer/evi-analyzer.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[ssl]
cert_file=<путь до сертификата>
key_file=<путь до ключа> |
Модуль evi-core-web
Перейдите в редактирование конфигурационного файла /etc/angie/http.d/evi-core-web.conf .
Укажите у параметров ssl_certificate и ssl_certificate_key путь до сертификата и ключа:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
ssl_certificate <путь до сертификата>;
ssl_certificate_key <путь до сертификата>; |
Docker-контейнер evi-analytics
Перейдите в редактирование файла evi-analytics_1.5.0_docker-compose.sh .
Укажите в переменных:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
#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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
/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 | не ротировать, если лог пуст |