Перейти к содержанию

Описание параметров сервисов#

В данном разделе приведены параметры для каждого сервиса LUNA Vinder Module и их детальное описание.

Под параметрами (также называемыми настройками) понимаются регулируемые значения, которые управляют работой сервисов.

Настройки сервиса Projector#

Настройку сервиса можно выполнить с помощью сервиса Configurator.

В данном разделе перечислены настройки для сервиса Projector :

Настройки сервиса Matcher#

Настройку сервиса можно выполнить с помощью сервиса Configurator.

В данном разделе перечислены настройки для сервиса Matcher:

Настройки плагина сравнения#

В данном разделе перечислены настройки для плагина сравнения:

Подробное описание настроек#

Группа параметров LUNA_VINDER_SERVICE_NAME_LOGGER#

SERVICE_NAME — название сервиса в настройке, например "LUNA_VINDER_PROJECTOR_LOGGER" или "LUNA_VINDER_MATCHER_LOGGER".

Данная группа параметров задает настройки логирования.

log_level#

Параметр задает уровень отладочной печати, по приоритету: "ERROR", "WARNING", "INFO", "DEBUG".

Формат задания настройки — string.

Значение по умолчанию — INFO.

log_time#

Параметр задает формат времени, используемый в записях лога. Доступны следующие значения:

  • "LOCAL" — отображает местное время системы, на которой выполняется запись логов;
  • "UTC" — отображает координированное всемирное время, которое является стандартом времени и не зависит от местной временной зоны или сезонных изменений времени.

Формат задания настройки — string.

Значение по умолчанию — LOCAL.

log_to_stdout#

Параметр позволяет отправлять логи в стандартный вывод (stdout).

Формат задания настройки — boolean.

Значение по умолчанию — true

log_to_file#

Параметр позволяет сохранять логи в файл. Директория с файлами логов указывается в параметре "folder_with_logs".

Примечание. При включении сохранения логов в файл следует учитывать:

  • необходимость контроля размера логов во избежание переполнения хранилища;
  • автоматическое удаление логов при перезапуске контейнера (требуется использование аргумента volume).

Формат задания настройки — boolean.

Значение по умолчанию — false.

folder_with_logs#

Параметр задает директорию, в которой хранятся логи. Относительный путь начинается с каталога с приложением.

Для использования данного параметра требуется включить параметр "log_to_file".

Формат задания настройки — string.

Значение по умолчанию — ./

Пример:

"folder_with_logs": "/srv/logs"

max_log_file_size#

Параметр задает максимальный размер файла лога в МБ перед выполнением его ротации (0 — не использовать ротацию).

Для использования данного параметра требуется включить параметр "log_to_file".

При необходимости можно настроить ротацию логов Docker. См. раздел "Настройка ротации логов Docker" в руководстве по установке LUNA PLATFORM.

Формат задания настройки — integer.

Значение по умолчанию — 1024

multiline_stack_trace#

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

Формат задания настройки — boolean.

Значение по умолчанию — true.

format#

Параметр определяет формат выводимых логов. Доступны следующие значения:

  • "default" — стандартный формат вывода логов LUNA PLATFORM
  • "json" — вывод логов в формате json
  • "ecs" — вывод логов в формате ECS (Elastic Common Schema)

При использовании значения "ecs" будут использоваться следующие поля:

  • "http.response.status_code" — содержит код состояния ответа HTTP (200, 404, 500 и т.д.);
  • "http.response.execution_time" — содержит информацию о времени, затраченном на выполнение запроса и получение ответа;
  • "http.request.method" — содержит метод HTTP-запроса (GET, POST, PUT и т.д.);
  • "url.path" — содержит путь в URL-адресе запроса;
  • "error.code" — содержит код ошибки, если запрос завершается с ошибкой.

Формат задания настройки — string.

Значение по умолчанию — default.

Группа параметров LUNA_VINDER_SERVICE_NAME_HTTP_SETTINGS#

SERVICE_NAME — название сервиса в настройке, например "LUNA_VINDER_PROJECTOR_HTTP_SETTINGS" или "LUNA_VINDER_MATCHER_HTTP_SETTINGS".

В данной группе параметров содержатся настройки, отвечающие за обработку HTTP-подключений. См. подробную информацию по следующей ссылке: https://sanic.dev/en/guide/deployment/configuration.html#builtin-values

request_timeout#

Параметр задает продолжительность времени между моментом, когда новое открытое TCP-соединение передается на сервер, и моментом, когда получен весь HTTP-запрос.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 60.

response_timeout#

Параметр задает продолжительность времени между моментом, когда сервер передает HTTP-запрос приложению, и моментом, когда HTTP-ответ отправляется клиенту.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 600.

request_max_size#

Параметр задает максимальный размер запроса.

Формат задания настройки — integer (байты).

Значение по умолчанию — 1073741824.

keep_alive_timeout#

Параметр задает время, в течение которого сервер поддерживает HTTP-соединение открытым после обработки запроса, ожидая возможные последующие запросы от клиента.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 15.

Группа параметров LUNA_SERVICE_NAME_DB#

SERVICE_NAME — название сервиса в настройке, например "LUNA_VINDER_DB" или "LUNA_EVENTS_DB".

В данной группе параметров задаются настройки подключения к базе данных сервиса SERVICE_NAME.

db_user#

Параметр задает имя пользователя базы данных.

Формат задания настройки — string.

Значение по умолчанию — "luna".

db_password#

Параметр задает пароль пользователя базы данных.

Формат задания настройки — string.

Значение по умолчанию — "luna".

db_host#

Параметр задает имя сервера (хост) базы данных.

Формат задания настройки — string.

Значение по умолчанию — 127.0.0.1.

db_port#

Параметр задает порт базы данных.

Формат задания настройки — string.

Значение по умолчанию — 5432.

db_settings > connection_pool_size#

Параметр задает размер пула соединений к БД.

Формат задания настройки — string.

Значение по умолчанию для сервисов:

  • Events — 5;
  • Projector — 10.

db_name#

Параметр задает имя базы данных для типа "postgres".

Формат задания настройки — string.

Значение по умолчанию для сервисов:

  • Events — luna_events;
  • Projector — luna_vinder_projections.

db_type#

Параметр задает тип базы данных.

Формат задания настройки — string.

Значение по умолчанию — postgres.

dsn#

Параметр задает строку подключения DSN для соединения с БД.

DSN — это строка подключения, которая идентифицирует и указывает на источник данных (базу данных), к которому нужно установить соединение.

В строке DSN могут задаваться такие настройки, как множественные хосты, аутентификационные данные, порт и другие параметры.

Настройки зависят от типа БД. Множественные хосты поддерживаются только с PostgreSQL.

По умолчанию параметр "dsn" не отображается во вкладке "Settings" в Configurator. Проверить список всех доступных параметров для группы настроек можно на вкладке "Limitations".

Пример:

{
"dsn": "luna:luna@postgres01:5432,postgres02:5432/luna_vinder_projections?some_option=some_value"
"db_settings": {
    "connection_pool_size": 5
    }
}

Здесь:

  • "luna:luna" — имя пользователя и пароль для подключения к PostgreSQL;
  • "@postgres01:5432,postgres02:5432" — список хостов и портов, разделенных запятыми. Это означает, что сервис будет пытаться подключиться к первому хосту ("postgres01") на порту 5432. Если это не удастся, она попытается подключиться ко второму хосту ("postgres02") также на порту 5432;
  • "/luna_vinder_projections" — название базы данных;
  • "?some_option=some_value" — опциональные параметры для подключения.

При необходимости можно комбинировать строку DSN и классические настройки, однако строка DSN является более приоритетной. Можно частично заполнить строку DSN (например, "postgres01,postgres02/luna_vinder_projections"), и тогда недостающие параметры будут заполнены из значений параметров "db_host", "db_port", "db_name", "db_user" и "db_password".

При запуске сервис создаст пул подключений к одному из доступных хостов DSN. В случае возникновения проблем с установлением соединения после нескольких неудачных попыток, сервис снова попытается настроить пул подключений к любому из доступных хостов DSN.

Группа параметров LUNA_MONITORING#

Данная группа параметров задает настройки мониторинга.

См. подробную информацию о мониторинге в разделе "Мониторинг".

storage_type#

Параметр определяет, какой тип хранилища для хранения данных мониторинга будет использоваться. Доступно два варианта:

  • "influx"
  • "clickhouse"

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — influx.

send_data_for_monitoring#

Параметр позволяет включить или отключить отправку данных для мониторинга в InfluxDB/ClickHouse.

Формат задания настройки — integer.

Значение по умолчанию для всех сервисов — 1.

use_ssl#

Параметр позволяет использовать HTTPS для подключения к InfluxDB/ClickHouse.

Формат задания настройки — integer.

Значение по умолчанию для всех сервисов — 0.

host#

Параметр задаёт IP-адрес InfluxDB/ClickHouse.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — 127.0.0.1.

port#

Параметр задает порт InfluxDB/ClickHouse.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов:

  • для storage_type: influx8086;
  • для storage_type: clickhouse9000.

flushing_period#

Параметр задает частоту отправки данных мониторинга в InfluxDB/ClickHouse.

Формат задания настройки — integer (секунды).

Значение по умолчанию для всех сервисов — 1.

organization#

Параметр применяется только при использовании storage_type: influx.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — luna.

token#

Параметр применяется только при использовании storage_type: influx.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — secret-token.

bucket#

Параметр применяется только при использовании storage_type: influx.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — luna_monitoring.

http_port#

Параметр применяется только при использовании storage_type: clickhouse.

Параметр задает HTTP-порт для записи данных мониторинга. HTTP-порт используется для служебных операций с базой данных.

Формат задания настройки — integer.

Значение по умолчанию для всех сервисов — 8123.

db_user#

Параметр применяется только при использовании storage_type: clickhouse.

Параметр задает имя пользователя базы данных.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — luna.

db_password#

Параметр применяется только при использовании storage_type: clickhouse.

Параметр задает пароль пользователя базы данных.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — password.

db_name#

Параметр применяется только при использовании storage_type: clickhouse.

Параметр задает имя базы данных в ClickHouse, в которой будут создаваться таблицы и храниться данные мониторинга.

Формат задания настройки — string.

Значение по умолчанию для всех сервисов — luna_monitoring.

Группа параметров LUNA_SERVICE_METRICS#

Данная группа параметров включает и настраивает сбор метрик в формате Prometheus.

См. подробную информацию в разделе "Мониторинг".

enabled#

Параметр включает сбор метрик.

Если сбор метрик отключен, то запрос к ресурсу /metrics вернет соответствующее сообщение.

Формат задания настройки — boolean.

Значение по умолчанию — false.

metrics_format#

Параметр задает формат метрик.

На данный момент поддерживается только формат Prometheus.

См. официальную документацию Prometheus для более подробной информации.

Формат задания настройки — string.

Значение по умолчанию — prometheus.

extra_labels#

Параметр задает пользовательские типы лейблов.

Формат задания настройки — label_name=label_value.

Значение по умолчанию не задано.

Группа параметров ADDITIONAL_SERVICES_USAGE#

luna_events#

Параметр задает возможность использования сервиса Events.

Включение/отключение данного сервиса может повлиять на работу других сервисов.

Формат задания настройки — boolean ("false" или "true").

Значение по умолчанию для сервисов, у которых есть данная группа параметров — true.

luna_faces#

Параметр задает возможность использования сервиса Faces.

Включение/отключение данного сервиса может повлиять на работу других сервисов.

Формат задания настройки — integer ("0" или "1").

Значение по умолчанию — 1.

Группа параметров LUNA_VINDER_PROJECTOR_ADDRESS#

Данная группа параметров задает настройки подключения к сервису Projector.

origin#

Параметр задает протокол, IP адрес и порт сервиса Projector.

IP адрес "127.0.0.1" означает, что будет использоваться сервис Projector, расположенный на сервере с Configurator. Если сервис находится на ином сервере, то в данном параметре нужно указать корректный IP адрес сервера с запущенным сервисом Projector.

Формат задания настройки — string.

Значение по умолчанию — http://127.0.0.1:5260.

api_version#

Параметр задает версию API сервиса Matcher. Доступная версия API — "1".

Формат задания настройки — integer.

Значение по умолчанию — 1.

Группа параметров LUNA_VINDER_PROJECTOR_TIMEOUTS#

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

connect#

Параметр задает таймаут для установки соединения при отправке HTTP-запроса к сервису Projector. Это время ожидания, в течение которого клиент пытается установить соединение с сервисом.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 20.

request#

Параметр задает общий таймаут для выполнения всего HTTP-запроса. Он включает в себя время установки соединения, отправки запроса, получения ответа и закрытия соединения. Если весь процесс занимает больше времени, чем указано в этом параметре, то запрос будет прерван.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 60.

sock_connect#

Параметр задает таймаут для установки соединения на уровне сокетов. Если соединение на уровне сокетов не устанавливается в установленное время, операция будет прервана.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 10.

sock_read#

Параметр задает таймаут на чтение данных с сокета после успешного соединения. Если данные не поступают в установленное время, операция чтения будет прервана.

Формат задания настройки — integer (секунды).

Значение по умолчанию — 60.

Группа параметров LUNA_VINDER_MATCHING#

Данная группа параметров определяет настройки производительности сервиса Matcher.

thread_count#

Параметр определяет, сколько параллельных потоков Matcher использует для операций сравнения. Оптимальное значение зависит от аппаратной конфигурации вашей системы. Если в системе меньше ядер CPU, чем заданное количество потоков, прирост производительности может отсутствовать, так как потоки будут конкурировать за ресурсы процессора. В таких случаях рекомендуется установить значение thread_count равным количеству доступных ядер CPU.

Влияние количества потоков на производительность может быть значительным. Например, увеличение количества потоков с 8 до 16 может дать ускорение операций сравнения до 2 раз на системах с достаточным количеством ядер CPU. Фактическое ускорение зависит от вашей рабочей нагрузки, размера индексов и аппаратной конфигурации.

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

Формат задания настройки — integer.

Значение по умолчанию — 16.

Группа параметров LUNA_VINDER_SYNCHRONIZATION#

Данная группа параметров определяет настройки синхронизации данных для сервиса Matcher.

period#

Параметр задает периодичность синхронизации данных Matcher с другими сервисами. Меньшие значения обеспечивают большую актуальность данных, но увеличивают нагрузку на систему.

Формат задания настройки — number (в секундах).

Значение по умолчанию — 1.

batch_size#

Параметр определяет максимальное количество записей, обрабатываемых за один цикл синхронизации. Позволяет контролировать нагрузку на систему при больших объемах данных.

Формат задания настройки — integer.

Значение по умолчанию — 10000.

Группа параметров LUNA_VINDER_PLUGIN#

Данный параметр позволяет настраивать работу плагина сравнения, который интегрирует LUNA Vector Search Module с другими компонентами системы.

Формат задания настройки — object.

Значение по умолчанию не задано.

Прочие#

default_face_descriptor_version#

Параметр задает используемую версию биометрического шаблона лица.

Формат задания настройки — string.

Значение по умолчанию для сервисов, у которых есть данная группа параметров — 65.

Примечание. См. подробную информацию о версиях биометрических шаблонах в разделе "Нейронные сети" руководства администратора LUNA PLATFORM.

default_human_descriptor_version#

Параметр задает используемую версию биометрического шаблона тела.

См. подробную информацию о версиях биометрических шаблонах в разделе "Нейронные сети".

Формат задания настройки — string.

Значение по умолчанию — 116.

Примечание. См. подробную информацию о версиях биометрических шаблонах в разделе "Нейронные сети" руководства администратора LUNA PLATFORM.

luna_vinder_indexes#

Данный параметр определяет конфигурацию индексов для сервиса Matcher. Индексы оптимизируют поиск по заданным полям проекций.

Параметр представляет собой список индексов, где каждый содержит:

  • projection_id — ID проекции

  • index_composite_fields — упорядоченный список полей для индексации (от меньшей кардинальности к большей). См. раздел Компоненты индекса.

Формат задания настройки — object.

Значение по умолчанию не задано.