Версия ПО 1.5.0 |
| Сервис | Путь до конфигурационного файла |
|---|---|
| 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 располагается в /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 # Адрес evi-live (ENV: EVICORE_EVILIVE_RPC_HOST) rpc_port=7202 # RPC порт evi-live (ENV: EVICORE_EVILIVE_RPC_PORT) [evi-archive] rpc_host=127.0.0.1 # Адрес evi-archive (ENV: EVICORE_EVIARCHIVE_RPC_HOST) rpc_port=7302 # RPC порт evi-archive (ENV: EVICORE_EVIARCHIVE_RPC_PORT) [evi-analyzer] rpc_host=127.0.0.1 # Адрес evi-analyzer (ENV: EVICORE_EVIANALYZER_RPC_HOST) rpc_port=7502 # RPC порт evi-analyzer (ENV: EVICORE_EVIANALYZER_RPC_PORT) |
Конфигурационный файл evi-scud располагается в /opt/evi-scud/evi-scud.conf.
[ssl] cert_file=/opt/evi-scud/ssl/cert.crt # Файл сертификата (ENV: EVISCUD_SSL_CERT_FILE) key_file=/opt/evi-scud/ssl/cert.key # Файл ключа сертификата (ENV: EVISCUD_SSL_KEY_FILE) # pem=123 # Парольная фраза сертификата (опционально) (ENV: EVISCUD_SSL_PEM) [log] level=info # Уровень логов (ENV: EVISCUD_LOG_LEVEL) file=/var/log/evi-scud/evi-scud.log # Путь до лог файла (ENV: EVISCUD_LOG_FILE) [postgresql] host=127.0.0.1 # PostgreSQL адрес (ENV: EVISCUD_POSTGRESQL_HOST) port=5432 # PostgreSQL порт (ENV: EVISCUD_POSTGRESQL_PORT) dbname=core # PostgreSQL имя базы (ENV: EVISCUD_POSTGRESQL_DBNAME) username=core # PostgreSQL пользователь(ENV: EVISCUD_POSTGRESQL_USERNAME) password=core # PostgreSQL пароль (ENV: EVISCUD_POSTGRESQL_PASSWORD) [rpc] listen=127.0.0.1 # Адрес или интерфейс для RPC (* - все) (ENV: EVISCUD_RPC_LISTEN) port=7102 # TCP SSL порт для RPC (ENV: EVISCUD_RPC_PORT) [events] listen=127.0.0.1 # Адрес или интерфейс для событий (* - все) (ENV: EVISCUD_EVENTS_LISTEN) port=7104 # TCP SSL порт для событий (ENV: EVISCUD_EVENTS_PORT) [controller] listen=* # Адрес или интерфейс для связи с IPAER (* - все) (ENV: EVISCUD_CONTROLLER_LISTEN) port=7105 # TCP порт для связи с IPAER (ENV: EVISCUD_CONTROLLER_PORT) ssl_port=8085 # TCP SSL порт для связи с IPAER (ENV: EVISCUD_CONTROLLER_SSL_PORT) |
Конфигурационный файл evi-live располагается в /opt/evi-live/evi-live.conf.
Убедитесь, что значение extern_host соответствует внешнему IP-адресу или доменному имени сервера, по которому клиенты подключаются к системе (параметр может изменится при Миграции) |
[api] listen=* # Адрес или интерфейс HTTPS API for HTTPS API (* - all interfaces) (ENV: EVILIVE_API_HOST) port=7200 # Порт для HTTPS API (ENV: EVILIVE_API_PORT) [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=123 # Парольная фраза сертификата (опционально) (ENV: EVILIVE_SSL_PEM) [log] level=info # Уровень логов (ENV: EVILIVE_LOG_LEVEL) file=/var/log/evi-live/evi-live.log # Путь до лог файла (ENV: EVILIVE_LOG_FILE) [postgresql] host=127.0.0.1 # PostgreSQL адрес (ENV: EVILIVE_POSTGRESQL_HOST) port=5432 # PostgreSQL порт (ENV: EVILIVE_POSTGRESQL_PORT) dbname=core # PostgreSQL имя базы (ENV: EVILIVE_POSTGRESQL_DBNAME) username=core # PostgreSQL пользователь (ENV: EVILIVE_POSTGRESQL_USERNAME) password=core # PostgreSQL пароль (ENV: EVILIVE_POSTGRESQL_PASSWORD) [rpc] listen=127.0.0.1 # Адрес или интерфейс для RPC (* - все) (ENV: EVILIVE_RPC_HOST) port=7202 # TCP SSL порт для RPC (ENV: EVILIVE_RPC_PORT) [events] listen=127.0.0.1 # Адрес или интерфейс для событий (* - все) (ENV: EVILIVE_EVENTS_HOST) port=7204 # TCP SSL порт для событий (ENV: EVILIVE_EVENTS_PORT) [global] extern_host=127.0.0.1 # Внешний или прокси адрес (ENV: EVILIVE_GLOBAL_EXTERN_HOST) extern_port_rtsp_tcp=7260 # Внешний или прокси порт RTSP TCP (ENV: EVILIVE_GLOBAL_EXTERN_PORT_RTSP_TCP) extern_port_rtmp=7250 # Внешний или прокси порт RTMP (ENV: EVILIVE_GLOBAL_EXTERN_PORT_RTMP) extern_port_webrtc_tcp=7285 # Внешний или прокси порт WebRTC TCP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_TCP) extern_port_webrtc_udp=7285 # Внешний или прокси порт WebRTC UDP (ENV: EVILIVE_GLOBAL_EXTERN_WEBRTC_UDP) extern_port_api=7200 # Внешний или прокси порт API (ENV: EVILIVE_GLOBAL_EXTERN_PORT_API) [rtsp] listen=* # Адрес или интерфейс RTSP (* - все) (ENV: EVILIVE_RTSP_HOST) tcp_port=7260 # TCP порт для RTSP (ENV: EVILIVE_RTSP_TCP_PORT) [rtmp] listen=* # Адрес или интерфейс для RTMP (* - all interfaces) (ENV: EVILIVE_RTMP_HOST) port=7250 # TCP порт для RTMP (ENV: EVILIVE_RTMP_PORT) [webrtc] listen=* # Адрес или интерфейс для WebRTC (* - all interfaces) (ENV: EVILIVE_WEBRTC_HOST) tcp_port=7285 # TCP порт для WebRTC (ENV: EVILIVE_WEBRTC_TCP_PORT) udp_port=7285 # UDP порт для WebRTC (ENV: EVILIVE_WEBRTC_UDP_PORT) |
Конфигурационный файл 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 # Парольная фраза сертификата (опционально) (ENV: EVIARCHIVE_SSL_PEM) [log] level=info # Уровень логов(ENV: EVIARCHIVE_LOG_LEVEL) file=/var/log/evi-archive/evi-archive.log # Путь до лог файла (ENV: EVIARCHIVE_LOG_FILE) [rpc] listen=127.0.0.1 # Адрес или интерфейс для RPC (* - все) (ENV: EVIARCHIVE_RPC_HOST) port=7302 # TCP SSL порт для RPC (ENV: EVIARCHIVE_RPC_PORT) [events] listen=127.0.0.1 # Адрес или интерфейс для событий (* - все) (ENV: EVIARCHIVE_EVENTS_HOST) port=7304 # TCP SSL порт для событий (ENV: EVIARCHIVE_EVENTS_PORT) [archive] path=./archive # Путь до директории архива (ENV: EVIARCHIVE_ARCHIVE_PATH) |
Конфигурационный файл 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.key # Файл ключа сертификата (ENV: EVIANALYZER_SSL_KEY_FILE) # pem=123 # Парольная фраза сертификата (опционально) (ENV: EVIANALYZER_SSL_PEM) [log] level=info # Уровень логов(ENV: EVIANALYZER_LOG_LEVEL) file=/var/log/evi-analyzer/evi-analyzer.log # Путь до лог файла (ENV: EVIANALYZER_LOG_FILE) [postgresql] host=127.0.0.1 # PostgreSQL адрес (ENV: EVIANALYZER_POSTGRESQL_HOST) port=5432 # PostgreSQL порт (ENV: EVIANALYZER_POSTGRESQL_PORT) dbname=core # PostgreSQL имя базы (ENV: EVIANALYZER_POSTGRESQL_DBNAME) username=core # PostgreSQL пользователь (ENV: EVIANALYZER_POSTGRESQL_USERNAME) password=core # PostgreSQL пароль (ENV: EVIANALYZER_POSTGRESQL_PASSWORD) [rpc] listen=127.0.0.1 # Адрес или интерфейс для RPC (* - all interfaces) (ENV: EVIANALYZER_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.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 с помощью монтирования в общую папку.
Укажите этот путь в конфигурации:
[archive] path=/mnt/archive |
Убедитесь, что у программы есть права на чтение/запись в папку.
| Прямая настройка нескольких путей в конфигурации невозможна — все управление дисками выполняется на уровне операционной системы. |
Сохраняемый архив в директорию на сервере имеет внутренний формат .arc.
archive/live/{camera_id}/{date}.arcЭкспорт, просмотр архива производится с помощью evi-video-client.
Подробнее можно узнать в разделе Просмотр архива.
Для использования собственных сертификатов в конфигурационных файлах сервисов нужно задать путь к файлам сертификата и ключа.
Перейдите в редактирование конфигурационного файла /opt/evi-core/evi-core.conf.
Укажите путь в разделе [ssl] у параметров crt и key путь до сертификата и ключа:
[ssl] cert_file=<путь до сертификата> key_file=<путь до ключа> |
Перейдите в редактирование конфигурационного файла /opt/evi-scud/evi-scud.conf.
Укажите в разделе [ssl] у параметров crt и key путь до сертификата и ключа:
[ssl] cert_file=<путь до сертификата> key_file=<путь до ключа> |
Перейдите в редактирование конфигурационного файла /opt/evi-live/evi-live.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
[ssl] cert_file=<путь до сертификата> key_file=<путь до ключа> |
Перейти в редактирование конфигурационного файла /opt/evi-archive/evi-archive.conf.
Укажите в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
[ssl] cert_file=<путь до сертификата> key_file=<путь до ключа> |
Перейти в редактирование конфигурационного файла /opt/evi-analyzer/evi-analyzer.conf.
Указать в разделе [ssl] у параметров cert и key путь до сертификата и ключа:
[ssl] cert_file=<путь до сертификата> key_file=<путь до ключа> |
Перейдите в редактирование конфигурационного файла /etc/angie/http.d/evi-core-web.conf .
Укажите у параметров ssl_certificate и ssl_certificate_key путь до сертификата и ключа:
ssl_certificate <путь до сертификата>; ssl_certificate_key <путь до сертификата>; |
Перейдите в редактирование файла evi-analytics_1.5.0_docker-compose.sh .
Укажите в переменных:
#EVI-ANALYTICS CONFIG SECTION [ssl]
: ${EVIANALYTICS_SSL_CERT_FILE="<путь до сертификата>"}
: ${EVIANALYTICS_SSL_KEY_FILE="<путь до ключа>"} |
Лог-файлы сервисов располагаются в папке /var/log/имя-сервиса.
Сервисы EVI не выполняют автоматическую ротацию логов. |
Для настройки ротации используйте утилиту logrotate в соответствии с требованиями вашей системы.
Пример настроенной конфигурации для ротирования файла /var/log/evi-core/evi-core.log.
/var/log/evi-core/evi-core.log
{
hourly
size 100M
dateext
dateformat -%Y-%m-%d_%H-%s
missingok
rotate 15
copytruncate
compress
notifempty
} |
Пояснение параметров:
| Параметр | Описание |
|---|---|
| hourly | ротация каждый час |
| size 100M | ротация при достижении размера 100 МБ |
| dateext | добавление даты к имени архивного лога |
| dateformat | формат даты в имени файла |
| missingok | не ошибка, если файл отсутствует |
| rotate 15 | хранить до 15 архивных копий |
| copytruncate | копировать и обрезать текущий лог (без перезапуска сервиса) |
| notifempty | не ротировать, если лог пуст |