|
<< Показать Оглавление >> Настройка сервера |
![]()
|
Файлы конфигурации
Для настройки сервера требуется изменить файлы конфигурации. Внесённые в них изменения сохраняются и после обновления приложения. Изменения применяются после перезапуска сервера.
Общая структура файлов имеет вид:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<userSettings>
…Параметры…
</userSettings>
</configuration>
Расположение файлов с настройками:
/etc/DictationApp.Server/<имя файла>.config
Варианты настройки
Настройка зависит от выбранной схемы установки:
•Настройка одного сервера без дополнительных сервисов
•Настройка при использовании балансировщика
•Настройка при сборе статистики
•Настройка при использовании сервиса обратной связи
Настройка сервера без дополнительных сервисов
Для шифрования обмена между клиентом и сервером используйте настройки из раздела Шифрование трафика при работе с несколькими серверами. |
При необходимости можно изменить порты, которые используются для взаимодействия с сервером по умолчанию.
1.В файле Dictation.Rest.Server.Properties.Settings.config в настройке Port укажите порт REST-интерфейса приложения Dictation Server на данном сервере.
<Dictation.Rest.Server.Properties.Settings>
...
<setting name="Port" serializeAs="String">
<value>39255</value>
</setting>
...
</Dictation.Rest.Server.Properties.Settings>
При изменении портов новое значение порта REST-интерфейса требуется указать в сетевых настройках каждого клиентского приложения. |
2.В файле Dictation.Asr.Server.Properties.Settings.config в настройке Port укажите порт WebSocket-интерфейса приложения Dictation Server на данном сервере.
<Dictation.Asr.Server.Properties.Settings>
...
<setting name="Port" serializeAs="String">
<value>34000</value>
</setting>
...
</Dictation.Asr.Server.Properties.Settings>
3.Укажите порты, измененные в пунктах 1 и 2, в файле Dictation.Asr.Service.Properties.Settings.config в секции ConnectionStringForBalancer. Укажите в нем строку с параметрами подключения к настраиваемому серверу (в примере настраивается сервер dct-srv-01.local) в формате "IP";"WebSocket Port";"Rest Port".
<Dictation.Asr.Service.Properties.Settings>
...
<setting name="ConnectionStringForBalancer" serializeAs="String">
<value>dct-srv-01.local;34000;39255</value>
</setting>
...
</Dictation.Asr.Service.Properties.Settings>
4.Перезапустите службу сервера, чтобы применить настройки.
Настройка при использовании балансировщика
В схеме с несколькими серверами потребуется балансировщик для распределения нагрузки. Чтобы сервер мог работать с балансировщиком, укажите дополнительные настройки после настройки самого сервера.
1.В файле Dictation.Common.Properties.Settings.config в настройках BalancerIp и BalancerPort укажите IP‑адрес и порт балансировщика, к которому будет подключаться приложение Dictation Server.
<Dictation.Common.Properties.Settings>
...
<setting name="BalancerIp" serializeAs="String">
<value>dct-bal.local</value>
</setting>
<setting name="BalancerPort" serializeAs="String">
<value>39255</value>
</setting>
...
</Dictation.Common.Properties.Settings>
2.В файле Dictation.Asr.Service.Properties.Settings.config в настройке ConnectionStringForBalancer укажите строку с параметрами подключения к настраиваемому серверу (в примере настраивается сервер dct-srv-01.local) в формате "IP";"WebSocket Port";"Rest Port".
<Dictation.Asr.Service.Properties.Settings>
...
<setting name="ConnectionStringForBalancer" serializeAs="String">
<value>dct-srv-01.local;34000;39255</value>
</setting>
...
</Dictation.Asr.Service.Properties.Settings>
3.В файле Dictation.Asr.Service.Properties.Settings.config в настройке SendDataToBalancer укажите, что требуется передача данных через балансировщик.
<Dictation.Asr.Service.Properties.Settings>
...
<setting name="SendDataToBalancer" serializeAs="String">
<value>True</value>
</setting>
...
</Dictation.Asr.Service.Properties.Settings>
Настройка при сборе статистики
Чтобы сервер мог собирать статистику, укажите дополнительные настройки после настройки самого сервера.
Перед настройкой убедитесь, что у вас установлен ElasticSearch версии 7.10. Для настройки потребуются следующие параметры ElasticSearch:
•Имена хостов, на которых установлен ElasticSearch
•Порт подключения
•Логин и пароль учетной записи в ElasticSearch
•Протокол, по которому происходит подключение
1.Включите сбор статистики. Для этого
oоткройте файл /opt/STC/dictation/server/DictationApp.Server.dll.config;
oв секции userSettings укажите для настройки EnableStatistic значение True.
При обновлении сервера потребуется задать эту настройку еще раз. |
2.Укажите в файле DictationApp.Server.dll.config следующие настройки:
Настройка |
Значение |
Пример |
||
|---|---|---|---|---|
Секция <userSettings> — <Dictation.Statistic.Properties.Settings> |
||||
StatisticServerAddresses |
Список адресов серверов ElasticSearch в кластере в формате http://<host0>:<port0>;http://<host1>:<port1>;... Обратите внимание, что помимо IP-адреса обязательно нужно указать протокол соединения |
Для ElasticSearch, установленного на ОС Windows: <setting name="StatisticServerAddresses" serializeAs="String"> <value>http://<IP узла>:19200</value> </setting>
Для ElasticSearch, установленного на ОС Linux: <setting name="StatisticServerAddresses" serializeAs="String"> <value>http://<IP узла>:9200</value> </setting> |
||
StatisticServerLogin |
Логин для авторизации на каждом сервере ElasticSearch |
<setting name="StatisticServerLogin" serializeAs="String"> |
||
StatisticServerPassword |
Пароль для авторизации на каждом сервере ElasticSearch. При перезапуске сервера этот пароль будет зашифрован стандартным шифрованием и положен в папку с пользовательскими настройками сервера в файл /etc/DictationApp.Server/Dictation.Statistic.Properties.Settings.config, настройка StatisticServerPasswordEncrypted, после чего StatisticServerPassword нужно удалить из DictationApp.Server.dll.config |
<setting name="StatisticServerPassword" serializeAs="String"> |
||
StatisticServerPasswordEncrypted |
Хешированный пароль для авторизации на каждом сервере ElasticSearch. Генерируется автоматически из открытого пароля, указанного в настройке StatisticServerPassword |
|
||
StatisticServerIndexName |
Имя индекса ElasticSearch, в который будут записываться все данные при сборе статистики. Если окажется, что индекса с указанным именем не существует в системе, то он будет создан. |
<setting name="StatisticServerIndexName" serializeAs="String"> </setting> |
||
|
||||
EnableStatisticSessionRestart |
Эта настройка включает принудительный разрыв и восстановление клиентской сессии (а также сессии распознавания, если она в тот момент активна) в указанное время. Возможные значения: True/False |
<setting name="EnableStatisticSessionRestart" serializeAs="String"> |
||
StatisticSessionRestartTime |
Время старта новой сессии при включенном EnableStatisticSessionRestart по локальному времени сервера в формате hh:mm:ss. Время разрыва предыдущей сессии принимается за время, указанное в StatisticSessionRestartTime, минус 1 мс |
<setting name="StatisticSessionRestartTime" serializeAs="String"> </setting> |
||
3.Перезапустите службу сервера. После этого создастся пользовательский файл конфигурации /etc/DictationApp.Server/Dictation.Statistic.Properties.Settings.config, в который скопируются ваши настройки.
Все дальнейшие изменения настроек нужно записывать в файл /etc/DictationApp.Server/Dictation.Statistic.Properties.Settings.config, потому что настройки в этом файле приоритетны. Этот файл останется неизменным при обновлении сервера, поэтому при обновлении вам не придется указывать настройки заново. |
Если вы измените пароль в файле /etc/DictationApp.Server/Dictation.Statistic.Properties.Settings.config, в настройки запишется хешированный пароль, а нехешированный удалится из настроек автоматически после запуска сервера. |
Настройка при использовании сервиса обратной связи
Чтобы сервер мог работать с сервисом обратной связи, укажите дополнительные настройки после настройки самого сервера.
1.Откройте файл /opt/STC/dictation/server/DictationApp.Server.dll.config.
2.В секции <userSettings> — <Dictation.Asr.Server.Properties.Settings> укажите следующие настройки:
Настройка |
Значение |
Пример |
|---|---|---|
Секция <userSettings> — <Dictation.Asr.Server.Properties.Settings> |
||
ClaimSendInterval |
Интервал времени в формате hh:mm:ss, через который сервер будет отправлять данные сервису обратной связи. По умолчанию — один час. |
<setting name="ClaimSendInterval" serializeAs="String"> <value>01:00:00</value> </setting> |
ClaimSendUrl |
Адрес хоста, где находится сервис обратной связи, с указанием протокола соединения и порта. Протокол и порт должны соответствовать настройке сервиса обратной связи Urls. |
<setting name="ClaimSendUrl" serializeAs="String"> <value>http://<адрес хоста>:5000/api/Feedback</value> </setting> |