Настройка бэкенд-сервера
После установки, настройки бэкенд-сервера располагаются в каталоге /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, добавьте в файл 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