Сервис Directum SmartService настраивается в конфигурационном файле appsettings.json.
Структура файла:
{
"ConnectionStrings": {
"DefaultConnection": "User ID={Имя пользователя};Password={Пароль};
Host={Адрес};Port={Порт};Database={Имя базы данных};
Pooling={Использовать пул подключений к БД};"
"QueueConnection": "amqp://{Имя пользователя}:{Пароль}@{Адрес}:{Порт}/{Виртуальный хост}"
},
"Serilog": {
"MinimumLevel": {
"Default": "{Минимальный уровень протоколирования}",
"Override": {
"Microsoft.EntityFrameworkCore": "Error",
"System": "Error"
"Elastic.Apm": "Error"
}
},
"Properties": {
"Application": "SmartService"
},
"WriteTo": [
{
"Name": "RollingFile",
"Args": {
"formatter": "SmartService.Logger.SmartEcsTextFormatter, SmartService",
"pathFormat": "{Путь до папки с лог-файлом}/{Date}.log"
}
}
]
},
"SmartServices": {
"Classification": "{Адрес сервиса классификации}",
"Training": "{Адрес сервиса обучения классификаторов}",
"TextExtraction": "{Адрес сервиса извлечения текстового слоя}",
"FactExtractorService": "{Адрес сервиса извлечения фактов}",
"FactExtractorServiceLearn": "{Адрес сервиса извлечения фактов на основе обучаемых моделей}",
"ObjectDetectionService": "{Адрес сервиса поиска объектов на изображениях}",
"AllowLocalPath": {Разрешить обучение классификаторов из локальной папки}
},
"Storage": {
"Endpoint": "{Адрес сервиса хранения объектов}",
"AccessKey": "{Имя пользователя}",
"SecretKey": "{Пароль}",
"Bucket": "{Имя контейнера}",
"UriLifetimeSeconds": "{Время хранения ссылок на объекты}",
"FileLifetimeHours": "{Время хранения объектов}"
},
"ElasticApm": {
"ServerUrls": "{Адрес сервиса Elastic APM Service}",
"TransactionSampleRate": {Регулярность отправки трейсов в сервис Elastic APM Service},
"SpanFramesMinDuration": "{Время обработки документа при возникновении ошибки, при котором в лог-файл записывается подробная информация о ней}",
"MetricsInterval": "{Интервал сбора метрик}"
},
"Queues": {
"MessageTTL": {Время хранения сообщений в RabbitMQ}
}
}
ConnectionStrings – параметры подключения:
• | DefaultConnection. Строка подключения к базе данных PostgreSQL, где: |
• | UserID и Password – имя и пароль пользователя для подключения к СУБД PostgreSQL; |
• | Host – адрес СУБД PostgreSQL; |
• | Port – порт для подключения к СУБД PostgreSQL; |
• | Database – имя базы данных SmartService; |
• | Pooling – признак использования пула подключений к базе данных. Возможные значения: True, False. Если установлено значение True, то для новых запросов к базе данных используется ранее созданное подключение из пула. Если установлено значение False, то каждый раз создается новое подключение. Для ускорения работы сервиса рекомендуется оставить в параметре значение по умолчанию True. |
• | QueueConnection. Строка подключения к очереди сообщений RabbitMQ, где: |
• | Виртуальный хост – виртуальный тенант RabbitMQ. |
Пример значения: amqp://ario:ario12345@localhost:5672/ario.
Serilog – параметры ведения лог-файлов:
• | MinimumLevel. Минимальный уровень протоколирования. Значение по умолчанию: |
"Serilog": {
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft.EntityFrameworkCore": "Error",
"System": "Error",
"Elastic.Apm": "Error"
}
},
При указанном значении параметра в лог-файл записываются сообщения о каждом этапе обработки документа, а также ошибки, возникающие при работе сервиса.
Подробнее об изменении значения параметра см. в документации к библиотеке Serilog.
• | WriteTo. Формат хранения лог-файлов, где: |
• | pathFormat. Путь до папки с лог-файлами. |
SmartServices – настройка связи с сервисами Ario:
• | Classification. Адрес сервиса классификации Directum Classifier Service. Пример значения: http://localhost:9007. |
• | TextExtraction. Адрес сервиса извлечения текстового слоя Directum TextExtractor Service. Пример значения: http://localhost:9027. |
• | FactExtractorService. Адрес сервиса извлечения фактов Directum FactExtractor Service. Пример значения: http://localhost:9017. |
• | FactExtractorServiceLearn. Адрес сервиса извлечения фактов на основе обучаемых моделей Directum FactExtractor Learn Service. Выделенный сервис используется, чтобы обучение не влияло на обработку документов существующими моделями. Пример значения: http://localhost:9019. |
• | ObjectDetectionService. Адрес сервиса поиска объектов на изображениях Directum Object Detection Service. Пример значения: http://localhost:9047. |
• | AllowLocalPath. Разрешить обучение классификаторов из локальной папки сервера. Возможные значения: True, False. Если установлено значение False, повышается безопасность работы. Значение по умолчанию True. |
Storage – настройка подключения к сервису Directum Storage Service:
• | Endpoint. Веб-адрес сервиса хранения объектов. Указывается без протокола http/https. Пример значения: localhost:9000. |
• | AccessKey. Имя пользователя для подключения к сервису хранения объектов. |
• | SecretKey. Пароль для подключения к сервису хранения объектов. |
• | Bucket. Имя папки для хранения объектов. Значение по умолчанию ario. |
• | UriLifetimeSeconds. Время хранения ссылок на объекты в секундах. Значение по умолчанию 3600. |
• | FileLifetimeHours. Время хранения объектов в хранилище в часах. Значение по умолчанию 72. |
ElasticApm – настройка подключения к сервису Directum Elastic APM Service:
• | ServerUrls. Адрес сервиса Elastic APM Service. |
• | TransactionSampleRate. Регулярность отправки трейсов в Elastic APM Service. Укажите значение 1.0, если необходимо отправлять все трейсы, 0.5 – если каждый второй. Значение по умолчанию 1.0. |
• | SpanFramesMinDuration. Если при обработке документа возникла ошибка и время обработки превышает значение параметра, в лог-файл записывается не только факт ошибки, но и подробная информация о ней. Значение по умолчанию 0ms, при котором запись в лог-файл отключена. |
• | MetricsInterval. Интервал сбора метрик о состоянии памяти и CPU. Значение по умолчанию 0s, при котором метрики не собираются. |
Queues – настройка для очередей RabbitMQ:
• | MessageTTL. Время хранения сообщений об обработке документа в RabbitMQ в секундах. Значение по умолчанию 86400. |
© Компания Directum, 2020 | Сообщество пользователей Directum |