| 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.1core.log { hourly size 100M dateext dateformat -%Y-%m-%d_%H-%s missingok rotate 15 # 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=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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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-адресу или доменному имени сервера, по которому клиенты подключаются к системе (параметр может изменится при Миграции) |
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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- |
...
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
[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:
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
# 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;
}
}
|
Директория для сохранения видеоархива
Для настройки директории необходимо перейдите в редактирование конфигурационного файла:
| Блок кода | ||
|---|---|---|
| ||
/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="<путь до ключа>"} |
Настройка связности сервисов для РЕД ОС
| Примечание |
|---|
При установке сервисов на разные серверы необходимо настроить связность сервисов между собой. |
Пример: необходимо установить модуль СКУД и Видеонаблюдения на разные серверы.
Необходимо после установки сервисов остановить их и внести изменение в конфигурационные файлы сервисов.
- Установите evi-core, evi-scud, postgres, clickhouse на машину 192.168.50.29.
- Установите evi-live, evi-archive, evi-analyzer на машину 192.168.50.250.
- Разверните Evi-analytics на 192.168.50.35.
- В конфигурации evi-core пропишите адреса баз данных, evi-scud, evi-analytics, evi-live, evi-archive, evi-analyzer.
Блок кода
...
title /opt/evi-
...
core/evi-
...
core.conf
...
[
...
postgresql]
...
host=127.0.0.1 port=5432 dbname=core username=core
...
...
...
...
...
...
password=core [
...
clickhouse] host=127.0.0.1 port=9000
...
...
...
...
...
...
...
...
...
...
...
dbname=core
...
username=core
...
...
...
...
...
...
...
...
...
...
password=core
...
...
...
...
...
...
...
...
[
...
evi-scud]
...
rpc_host=127.0.0.1
...
rpc_port=7102
...
...
...
...
...
...
...
[
...
evi-analytics]
...
rpc_host=
...
192.168.50.35 rpc_port=7402
...
...
...
...
...
...
Модуль evi-analyzer
Конфигурационный файл evi-analyzer располагается в /opt/evi-analyzer/evi-analyzer.conf.
...
| language | bash |
|---|---|
| title | /opt/evi-analyzer/evi-analyzer.conf |
| linenumbers | true |
...
[evi-live] rpc_host=192.168.50.250 rpc_port=7202 [evi-archive] rpc_host=192.168.50.250 rpc_port=7302 [evi-analyzer] rpc_host=192.168.50.250
...
...
...
...
...
...
...
rpc_port=7502
- В конфигах postgres открываем базу для подключения с других адресов.
Блок кода title /var/lib/pgsql/17/data/postgresql.conf # - Connection Settings - listen_addresses = '*'
Блок кода title /var/lib/pgsql/17/data/pg_hba.conf # TYPE
...
DATABASE USER ADDRESS METHOD # "local" is for
...
Unix
...
domain
...
socket
...
connections only local all all trust #
...
IPv4
...
local
...
connections: host all all 127.0.0.1/32
...
...
...
...
...
...
trust host core core
...
192.168.50.35/24 md5 # IPv6 local connections: host all all
...
...
...
...
::1/128 trust # Allow replication connections from localhost, by a user with
...
the # replication privilege. local replication all trust host replication all
...
...
...
...
...
...
...
127.0.0.1/32 trust host replication all
...
::1/128 trust- В конфиге evi-live прописываем адреса: базы данных, rpc, events, внешний IP.
Блок кода title /opt/evi-live/evi-live.conf [postgresql] host=192.168.50.29 port=5432
...
...
...
...
...
...
...
Модуль веб-интерфейса evi-core-web
Конфигурационный файл evi-core-web.conf располагается в /etc/angie/http.d/evi-core-web.conf:
...
| language | bash |
|---|---|
| title | /etc/angie/http.d/evi-core-web.conf |
| linenumbers | true |
...
dbname=core username=core password=core
...
...
...
[
...
rpc] listen=192.168.50.250
...
...
...
port=7202
...
...
...
...
...
...
...
...
...
...
[events] listen=192.168.50.250
...
port=7204
...
...
...
...
...
...
[global] extern_host=192.168.50.250 extern_port_rtsp_tcp=7260
...
extern_port_rtmp=7250 extern_port_webrtc_tcp=7285
...
...
...
extern_port_webrtc_udp=7285
...
extern_port_api=7200
...
- В конфиге evi-analyzer прописываем адреса: базы данных, rpc, events.
Блок кода title /opt/evi-analyzer/evi-analyzer.conf [postgresql] host=192.168.50.29
...
...
...
...
...
...
...
...
...
port=5432
...
...
...
...
...
...
...
...
...
...
...
...
...
dbname=core
...
...
...
...
username=core
...
...
password=core
...
...
...
...
[rpc] listen=192.168.50.250
...
...
...
...
...
...
...
...
port=7502
...
...
...
...
...
...
...
...
...
[events] listen=192.168.50.250
...
...
port=7504
...
...
...
- В конфиге evi-archive прописываем адреса rpc и events.
Блок кода title /opt/evi-archive/evi-archive.conf [rpc] listen=192.168.50.250
...
...
...
...
port=7302
...
...
...
...
[events] listen=192.168.50.250
...
...
...
port=7304
...
...
...
...
...
...
...
...
...
...
...
...
- В докер файле evi-analitycs прописываем адрес базы данных.
Блок кода title evi-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"}
- Перезапускаем все сервисы, в том числе evi-analytics.
| Подсказка |
|---|
| После внесения изменений в сервис требуется его перезагрузка. |
Ротация log-файлов
Лог-файлы сервисов располагаются в папке /var/log/имя-сервиса.
| Примечание |
|---|
Сервисы EVI не выполняют автоматическую ротацию логов. |
Для настройки ротации используйте утилиту logrotate в соответствии с требованиями вашей системы.
Пример настроенной конфигурации для ротирования файла /var/log/evi-core/evi-core.log.
| Блок кода | ||||||
|---|---|---|---|---|---|---|
| ||||||
/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 | не ротировать, если лог пуст |
