Page tree
Skip to end of metadata
Go to start of metadata

Настройка бэкенд-сервера

После установки, настройки бэкенд-сервера располагаются в каталоге /usr/local/FlashphonerWebCallServerOAM/conf:

#cd /usr/local/FlashphonerWebCallServerOAM/conf
#ls
log4j2.properties     
wcsoam-core.properties
wcsoam.properties     
WCS-OAM.version
wss.jks

Здесь

  • log4j2.properties - файл настроек логирования бэкенд-сервера
  • wcsoam-core.properties - файл настроек JVM бэкенд-сервера
  • wcsoam.properties - файл настроек бэкенд-сервера
  • WCS-OAM.version - номер версии бэкенд-сервера
  • wss.jks - файл хранилища SSL-сертификатов

Для применения любых изменений настроек, требуется перезапуск бэкенд-сервера.

Настройка подключения к БД для хранения метрик

Настройка подключения к БД Influx

Для разрешения передачи метрик в БД Influx необходимо указать параметр в файле wcsoam.properties

metric_store=influx

Для настройки подключения к БД Influx необходимо указать URL БД. По умолчанию, если БД установлена на том же сервере, URL должен быть указан как

influxdb_url=http://localhost:8086

Также необходимо указать имя БД и параметры доступа

influxdb_database=wcs_oam
influxdb_user=root
influxdb_password=root

По умолчанию, WCS OAM подключается к БД Influx по UDP:

influxdb_udp=true
influxdb_udp_port=8089

В этом случае возможны потери значений метрик. Для исключения потерь метрики могут передаваться по HTTP POST запросами вида

POST /write?u=root&p=root&db=wcs_oam&rp=default&precision=n&consistency=one HTTP/1.1

3-5062030c-9def-49c2-a89e-639d664ab806 AUDIO_CODEC=102i,AUDIO_LOST=3795015i,AUDIO_RATE=137776i,AUDIO_SYNC=123432141899i,seq=26558i 1562263828767000000

Переключение на HTTP для записи метрик производится настройкой

influxdb_udp=false

В любом случае, выборки метрик осуществляются по HTTP GET запросами вида

GET /query?u=root&p=root&db=wcs_oam&q=SELECT+*+FROM+%221-89dc5510-a198-11e9-a049-030fe6b5675c%22+order+by+time+desc+limit+10+offset+0 HTTP/1.1

Настройка подключения к БД Timescale

Для разрешения передачи метрик в БД Timescale необходимо указать параметр в файле wcsoam.properties

metric_store=timescale

Также необходимо указать URL БД и параметры доступа

timescale.url=jdbc:postgresql://127.0.0.1:5432/wcsstat
timescale.username=wcsoam
timescale.password=wcsoam

Тонкая настройка

Кэширование записи метрик в БД для снижения нагрузки настраивается при помощи параметра

timescale_batch_size=1000

В этом случае метрики записываются в БД пачками по 1000 значений.

Настройка подключения к БД для хранения статистики

Поддержка хранения статистики включается настройкой

historydb_enabled=true

Использование H2

Использование встроенной БД H2 допускается только в целях отладки, но не в промышленной эксплуатации

При необходимости подключения к БД H2, добавьте в файл wcsoam.properties следующие строки

spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:./wcs_oam
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=update

Использование Postgresql

Добавьте в файл wcsoam.properties следующие строки

spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/wcsoam
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.username=wcsoam
spring.datasource.password=wcsoam
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=false
spring.jpa.hibernate.ddl-auto=create
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true

Здесь

  • 'wcsoam' - имя базы данных, имя и пароль пользователя, настроенные для Postgresql

Тонкая настройка

При больших нагрузках, может возникнуть необходимость изменения размера очереди на запись в БД. Это можно сделать при помощи настройки

historydb_queue_size=3000

По умолчанию, размер очереди установлен в 3000 записей.

Настройка логирования SQL-запросов

При необходимости, в целях отладки может быть включено логирование SQL-запросов следующими настройками в файле wcsoam.properties

logging.level.org.hibernate.SQL=debug
logging.level.org.hibernate.type.descriptor.sql=trace

Необходимо отметить, что при использовании TimescaleDB, запись метрик в этом случае также будет логироваться.

Настройка взаимодействия с WCS

По умолчанию, бэкенд-сервер ожидает подключений для передачи метрик от WCS-сервера на TCP порт 7777. Этот порт может быть изменен настройкой

listening_port=7777

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

security_key=123456789

По умолчанию ключ установлен в 123.

Бэкенд-сервер также подключается к WCS для получения данных о публикуемых потоках при помощи REST API. Порт для подключения к WCS указывается настройкой

wcs_rest_port=8081

Настройка подключения к бэкенд-серверу

Настройка SSL

Бэкенд сервер поддерживает клиентские подключения по HTTPS и Secure Websocket. SSL настраивается при помощи следующих параметров

server.ssl.key-store-type=JKS
server.ssl.key-store=file:/usr/local/FlashphonerWebCallServerOAM/conf/wss.jks
server.ssl.key-store-password=password
server.ssl.key-alias=selfsigned

Здесь:

  • server.ssl.key-store-type - тип хранилища SSL-сертификатов, поддерживается только JKS
  • server.ssl.key-store - расположение хранилища сертификатов
  • server.ssl.key-store-password - пароль хранилища сертификатов
  • server.ssl.key-alias - доменное имя, на которое выдан сертификат

По умолчанию, бэкенд сервер поставляется с простым сгенерированным сертификатом (self-signed). Импортировать сертификат в хранилище бэкенд-сервера можно тем же способом, что и для WCS сервера, при помощи keytool. Если используется wildcard-сертификат, и бэкенд-сервер раполагается в том же домене, что и WCS сервер, можно также скопировать файл хранилища сертификатов WCS в каталог настроек бэкенд-сервера, например

cp -f /usr/local/FlashphonerWebCallServer/conf/wss.jks /usr/local/FlashphonerWebCallServerOAM/conf/

Настройка порта

HTTPS порт для обработки REST запросов, WSS подключений и отображения веб интерфейса бэкенд сервера настраивается при помощи параметра

server.port = 8090

Запуск бэкенд-сервера

Запуск бэкенд-сервера производится из каталога /usr/local/FlashphonerWebCallServerOAM/bin

cd /usr/local/FlashphonerWebCallServerOAM/bin
./wcsoam start

или, если бэкенд-сервер был установлен как системный сервис

systemctl start wcsoam

Остановка бэкенд-сервера

Остановка бэкенд-сервера производится из каталога /usr/local/FlashphonerWebCallServerOAM/bin

cd /usr/local/FlashphonerWebCallServerOAM/bin
./wcsoam stop

или, если бэкенд-сервер был установлен как системный сервис

systemctl stop wcsoam
  • No labels