Руководство по системному администрированию#

О документе#

Документ содержит описание системного администрирования компонента Сервис интеграции справочных данных (DDIS) и предназначен для специалиста (по тексту — Системного администратора), осуществляющего системное администрирование программного обеспечения.

Обозначения, сокращения, термины и определения приведены в документе Термины и определения.

Сценарии администрирования#

Для обеспечения защищенного взаимодействия компонента DDIS по протоколу mTLS 1.2 с иными компонентами Платформы в среде контейнеризации через Platform V Synapse Service Mesh (SSM) требуется обеспечить выпуск сертификата. Специфичных требований к средствам создания сертификатов не предъявляются. Все входящие и исходящие соединения компонента DDIS проходят через ingress/egress proxy.

Файл с ролевой моделью включается в поставку и при развертывании прикладного проекта загружается в компонент AUTZ. Загрузка может быть осуществлена с помощью Pipeline, либо сотрудниками в АРМ компонента AUTZ в том случае если инструменты DevOps Pipeline не функционируют. Загруженные привилегии могут быть включены в существующие в AUTZ наборы привилегий, либо для них могут быть созданы новые наборы. Управление наборами привилегий осуществляется в АРМ компонента AUTZ. Набор привилегий назначается пользователю по условию включения данного пользователя в привязанную к набору привилегий группе пользователей.

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

Доступ к АС должны иметь только те сотрудники, которым он необходим в соответствии с их должностными обязанностями. Доступ должен ограничиваться минимально необходимым объемом данных. Должны разделяться среды разработки, тестирования и эксплуатации, при этом, необходимо производить разделение обязанностей между разработчиками АС, тестирующим персоналом и сотрудниками, непосредственно эксплуатирующими уже введенные в промышленную эксплуатацию компонента DDIS.

Системному администратору доступна возможность изменения настроек компонента DDIS. Перечень и рекомендованные значения настроек приведены в разделе Параметры настоящего документа. При изменении настроек необходимо учитывать их влияние на механизмы безопасности компонента DDIS при настройке интеграции с AUTZ, Secret Management System.

Системному администратору рекомендуется регулярно отслеживать события мониторинга. Перечень событий мониторинга приведен в разделе «События мониторинга» настоящего документа. Просмотр системного журнала доступен в логах pods компонентов в среде контейнеризации и в UI компонента LOGA при его включении. Мониторинг доступен в случае инсталляции с включением компонента MONA.

Резервное копирование данных компонента DDIS обеспечивается штатными средствами инфраструктуры, в которой разворачивается компонент DDIS, в соответствии с эксплуатационной документацией на аппаратные и программные средства, входящие в состав программно-технического комплекса, на котором размещается компонент DDIS.

Общий порядок регистрации пользователей#

Создание, добавление, удаление, блокировку учетных записей пользователей DDIS не производит.

Перечень всех прав/ролей для бизнес-пользователей:

Роль (код)

Комментарии

Администратор (DDIS_Admin_Role)

Основная роль, которой доступны все формы и действия

Пользователь (DDIS_User_Role)

Роль, которой доступен только просмотр, без возможности выполнения действий

Параметры#

Описание параметров Контроллера (ddis-controller)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

ddis.controller.resources.enabled

Включение функциональности загрузки записей из JSON файлов

FALSE

BOOLEAN

ddis.controller.resources.enabled

false

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ddis.hotreload.db.toggle

Включение функциональности ddis.hotreload.db

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

SERVER_PORT

Порт публичного интерфейса

ddis.controller.env.server_port

8080

SERVICE

Название Шлюза ТФС в схеме распространения

ddis.controller.env.service

distribution-controller

DATASOURCE_URL

Адрес базы данных компонента. Обязательно к указанию

ddis.controller.env.datasource_url

„global.ddis.settings.controller.url“ „ddis.common.db.mtls.sslmode“

DATASOURCE_MINIMUM_IDLE

Минимальное количество простаивающих соединений к базе данных компонента

ddis.controller.env.datasource_minimum_idle

1

DATASOURCE_MAXIMUM_POOL_SIZE

Максимальное количество соединений с базой данных компонента

ddis.controller.env.datasource_maximum_pool_size

5

DATASOURCE_SCHEMA

Схема базы данных компонента

distribution_controller

HIBERNATE_DIALECT

Диалект базы данных компонента

ddis.controller.env.hibernate_dialect

org.hibernate.dialect.PostgreSQL10Dialect

HIBERNATE_HBM2DDL_AUTO

Режим автоматического обновления схемы базы данных компонента

ddis.controller.env.hibernate_hbm2ddl_auto

none

AUDIT_METAMODEL_ENDPOINT

Эндпоинт метамодели аудита

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v1/metamodel

AUDIT_EVENT_ENDPOINT

Адрес для отправки события аудита. Обязательное значение для клиента AUDT_REST

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v1/event

RESOURCES_PATH

Путь к каталогу с предварительно подготовленными записями формате JSON, предназначенными для загрузки в БД на старте приложения. Путь к каталогу в файловой системе должен начинаться с file: и оканчиваться разделителем пути, соответствующим файловой системе. Например, слеш

ddis.controller.env.resources_path

„global.ddis.settings.controller.resource_path“

RETRYING_SCHEDULE

Расписание переотправки распространений

ddis.controller.env.retrying_schedule

0 * * * * *

WATCHING_HEARTBEAT

Интервал опроса процессора при мониторинге распространения

ddis.controller.env.watching_heartbeat

1000

SHUTDOWN_TIMEOUT

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

ddis.controller.env.shutdown_timeout

60000

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.controller.env.management_server_port

8081

MANAGEMENT_ENDPOINTS

Ресурсы интерфейса управления

ddis.controller.env.management_endpoints

health,prometheus,loggers,env,info

MANAGEMENT_APPLICATION_TAG

Значение тега application

«ddis-controller»

MAX_HTTP_HEADER_SIZE

Максимальный размер HTTP заголовка

ddis.server.max-http-header-size

32768

MAX_FILE_SIZE

Максимальный размер файла в составном (multipart) HTTP-запросе

ddis.controller.env.maxFileSize

„ddis.env.maxFileSize“

MAX_REQUEST_SIZE

Максимальный размер составного (multipart) HTTP-запроса

ddis.controller.env.maxRequestSize

„ddis.env.maxRequestSize“

LOGGING_CUSTOM_FIELDS

Перечень дополнительных полей в записях логирования для конфигурации classpath:logback-stash.xml

„{«application»:»ddis-controller»}“

ddis.audit.client

Параметр аудита

«AUDT_REST»

ddis.audit.audm.module

Название элемента развертывания

ddis.controller.env.audit.audm.module

ddis-controller

ddis.environment.tenantCode

Позволяет статически задать код тенанта. Имеет преимущество перед способами получения значения tenantCode из системы управления параметрами или JNDI. Работает только вместе с аналогичным параметром ddis.environment.nodePath. При отсутствии хоть одного значения из пары применяется стандартное поведение

ddis.ufs.tenantCode

ddis.environment.nodePath

Позволяет статически задать код узла. Имеет преимущество перед способами получения значения nodePath из системы управления параметрами или JNDI. Работает только вместе с аналогичным параметром ddis.environment.tenantCode. При отсутствии хоть одного значения из пары применяется стандартное поведение

ddis.standin.node.path

DDIS_AUDIT_AUDTREST_MODULE

Значение модуля в audit-metamodel.json

ddis.controller.cm.data.audit.module

CI04669583_distribution-controller

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-controller

PACMAN_ATTRIBUTE_NAMES

Список наименований аттрибутов

„VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP“

PACMAN_ATTRIBUTE_VALUES

Список значений аттрибутов

„false,ALL,DDIS,“

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-controller

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-controller

APPLICATION_ERRORS_IGNOREINCREMENT

Регулярное выражение для определения ошибок при обращении к процессорам, для которых не следует увеличивать счетчик попыток выполнить распространение. Регулярное выражение проверяет поле name ошибки

ddis.controller.env.applicationErrorsIgnoreIncrement

503 ServiceUnavailable

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

default

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_CREATEJKS

Параметр для включения hotreload

„false“

DDIS_SSL_ENABLED

Признак включения обработки SSL на приложении. Должен задаваться через системную переменную или переменную окружения для корректной работы SSL подключения в Kafka логгера. Обработка включает функциональность генерации JKS

„false“

HOTRELOAD_DBSECRETS_FILE

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

HOT_RELOAD_YML

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

SECRET_REFRESHING_WINDOW

Время ожидания (сек) при получении события об изменении файла

„180000“

SECRET_REFRESH_LIMITING_WINDOW

Время ожидания после успешного обновления секрета

„3000“

SECRET_UPDATE_RETRY_LIMIT

Количество попыток если обновление секретов завершилось провалом

„3“

SECRET_UPDATE_RETRY_WINDOW

Время ожидания повторной попытки применения секрета

„5000“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload

„true“

Описание параметров Публикатора в БД (ddis-publish-db)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

ddis.hotreload.s3.toggle

Тогл hotreload для секретов S3

FALSE

BOOLEAN

ddis.hotreload.s3.toggle

true

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ddis.hotreload.db.toggle

Тогл hotreload для секретов БД

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

APPLICATION_HOTRELOAD_SECRETSFILENAME

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_HOTRELOAD_SCHEMA

Наименование схемы БД

ddis.database.env.datasource_schema

distribution_database

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_HOTRELOAD_SECRETREFRESHINGWINDOW

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

„30000“

spring.datasource.driver-class-name

Java-драйвер БД

org.postgresql.Driver

APPLICATION_HOTRELOAD_SECRETUPDATERETRYLIMIT

Количество попыток которое следует применить если обновление секретов и сертификатов завершилось провалом

„5“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload

„true“

APPLICATION_HOTRELOAD_SECRETUPDATERETRYWINDOW

Время ожидания повторной попытки применения секрета

„10000“

APPLICATION_HOTRELOAD_SECRETREFRESHLIMITINGWINDOW

Время ожидания после успешного обновления секрета

„180000“

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

„datasource“

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

„file“

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

„databaseReload“

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

„/mnt/secrets/db.properties“

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

„ENTRY_CREATE“

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

„ENTRY_MODIFY“

APPLICATION_TRIGGERS_1_NAME

Название триггера default

„default“

APPLICATION_TRIGGERS_1_TYPE

Тип триггера file

„file“

APPLICATION_TRIGGERS_1_HANDLERS_0_NAME

Название обработчика audit

„s3Reload“

APPLICATION_TRIGGERS_1_FILES_0

Путь к отслеживаемому файлу

„/mnt/secrets/s3.properties“

APPLICATION_TRIGGERS_1_EVENTS_0

Событие создания файла

„ENTRY_CREATE“

APPLICATION_TRIGGERS_1_EVENTS_1

Событие изменения файла

„ENTRY_MODIFY“

APPLICATION_TRIGGERS_2_NAME

Параметр библиотеки Hotreload

„databaseConsumersReload“

APPLICATION_TRIGGERS_2_TYPE

Тип триггера file

„file“

APPLICATION_TRIGGERS_2_HANDLERS_0_NAME

Название триггера logger

„databaseConsumersReload“

APPLICATION_TRIGGERS_2_EVENTS_0

Событие создания файла

„ENTRY_CREATE“

APPLICATION_TRIGGERS_2_EVENTS_1

Событие изменения файла

„ENTRY_MODIFY“

s3client.storages.local.file-path-secrets

Путь до файла с секретами для хранилище файлов S3 с именем фабрики local. Имеет преимущество перед настройками s3client.storages.in.accessKey и s3client.storages.in.secretKey.

/mnt/secrets/s3.properties

APPLICATION_TRIGGERS_2_FILES_

Путь до файла тригера file

„/mnt/secrets/{{consumer_list[1]»

application.hotreload.secretsFileNameConsumer

Список файлов секретов потребителей

ddis.publish-db.k8s.consumers

{%-forconsumersettingin(«global.ddis.publish-db.k8s.consumers»)»

SERVER_PORT

Порт публичного интерфейса

ddis.database.env.server_port

8080

DATASOURCE_URL

Адрес базы данных компонента. Обязательно к указанию

ddis.database.env.datasource_url

„global.ddis.settings.database.url“ „ddis.common.db.mtls.sslmode“

DATASOURCE_MINIMUM_IDLE

Минимальное количество простаивающих соединений к базе данных компонента

ddis.database.env.datasource_minimum_idle

1

DATASOURCE_MAXIMUM_POOL_SIZE

Максимальное количество соединений с базой данных компонента

ddis.database.env.datasource_maximum_pool_size

5

DATASOURCE_SCHEMA

Схема базы данных компонента

ddis.database.env.datasource_schema

distribution_database

HIBERNATE_DIALECT

Диалект базы данных компонента

ddis.database.env.hibernate_dialect

org.hibernate.dialect.PostgreSQL10Dialect

HIBERNATE_HBM2DDL_AUTO

Режим автоматического обновления схемы базы данных компонента

ddis.database.env.hibernate_hbm2ddl_auto

none

RESOURCES_ENABLED

Параметр включения функциональности загрузки записей из файлов в JSON формате. По прочитанным из файла записям формируются записи в БД

ddis.database.env.resource_enabled

„global.ddis.settings.database.resource_load“

RESOURCES_PATH

Путь к каталогу с предварительно подготовленными записями формате JSON, предназначенными для загрузки в БД на старте приложения. Путь к каталогу в файловой системе должен начинаться с file: и оканчиваться разделителем пути, соответствующим файловой системе. Например, /

ddis.database.env.resource_path

„global.ddis.settings.database.resource_path“

SERVICE

Название Шлюза ТФС в схеме распространения

ddis.database.env.service

distribution-database

PUBLICATION_SCHEDULE

Расписание публикации справочников

ddis.database.env.publication_schedule

0 * * * * *

PUBLICATION_PARALLELISM

Уровень параллелизма публикации

ddis.database.env.publication_parallelism

8

LOCK_TIMEOUT

Максимальный интервал блокировки сообщения в миллисекундах

ddis.database.env.lock_timeout

120000

SHUTDOWN_TIMEOUT

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

ddis.database.env.shutdown_timeout

60000

AUDIT_METAMODEL_ENDPOINT

Эндпоинт метамодели аудита

ddis.settings.env.audit

„http://“global.platform.pprb.baseurl.audit“/v1/metamodel

AUDIT_EVENT_ENDPOINT

Адрес для отправки события аудита

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v1/event

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.database.env.management_server_port

8081

MANAGEMENT_ENDPOINTS

Ресурсы интерфейса управления

ddis.database.env.management_endpoints

health,prometheus,loggers,env,info

MANAGEMENT_APPLICATION_TAG

Значение тега application

«ddis-publish-db»

MAX_HTTP_HEADER_SIZE

Максимальный размер HTTP заголовка

ddis.server.max-http-header-size

32768

AUTOMATION_ENABLED

При значении true публикатор автоматически создает подписки на получаемые справочники для всех потребителей; при значении false публикатор не загружает потребителям справочники, по которым заранее не созданы подписки

ddis.database.env.automationEnabled

true

DDIS_AUDIT_AUDTREST_MODULE

Значение модуля в audit-metamodel.json

ddis.database.cm.data.audit.module

CI04669583_distribution-database

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-publish-db

PACMAN_ATTRIBUTE_NAMES

Список наименований аттрибутов

„VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP“

PACMAN_ATTRIBUTE_VALUES

Список значений аттрибутов

„false,ALL,DDIS,“

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-publish-db

DDIS_AUDIT_CLIENT

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

AUDT_REST

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-publish-db

SUBSCRIPTIONS_DISABLED_SENDING_TIME

Периодичности отброса метрики в мониторинг

ddis.database.env.subscriptions.disable.sending.time

60000

BILLING_APPLICATION_HEADER

Имя приложения

ddis.database.env.billing.billing_application_header

ddis-publish-db

BILLING_RESOURCE_NAME

Имя ресурса уровня проекта, для которого выставляется счет

ddis.database.env.billing.billing_resource_name

rn: „global.ddis.metric.env.partition“:DDIS „global.ddis.metric.env.account“: „global.ddis.metric.env.region“:pprbnsi-ddis: „global.ddis.metric.env.resource_id“

BILLING_SERVICE_ENDPOINT

Адрес сервиса мониторинга

ddis.database.env.billing.billing_service_endpoint

„global.ddis.metric.publish-db.billing_service_endpoint“

BILLING_TENANT_HEADER

Имя тенанта

ddis.database.env.billing.billing_tenant_header

„global.ddis.metric.publish-db.billing_tenant_header“

BILLING_STAND_ID_HEADER

Идентификатор стенда (standId)

ddis.database.env.billing.billing_stand_id_header

„global.ddis.metric.publish-db.billing_stand_id_header“

BILLING_TRAFFIC_METRIC_NAME

Имя метрики объема загруженных данных

ddis.database.env.billing.billing_traffic_metric_name

ddis_outbound_distribution-database_traffic

BILLING_TRAFFIC_METRIC_TYPE

Тип метрики объема загруженных данных

ddis.database.env.billing.billing_traffic_metric_type

gauge

BILLING_TRAFFIC_METRIC_UNIT

Единица измерения метрики объема загруженных данных

ddis.database.env.billing.billing_traffic_metric_unit

bytes

BILLING_BANDWIDTH_METRIC_NAME

Имя метрики скорости публикации данных

ddis.database.env.billing.billing_bandwidth_metric_name

ddis_distribution-database_publication_speed

BILLING_BANDWIDTH_METRIC_TYPE

Тип метрики скорости публикации данных

ddis.database.env.billing.billing_bandwidth_metric_type

gauge

BILLING_BANDWIDTH_METRIC_UNIT

Единица измерения метрики скорости публикации данных

ddis.database.env.billing.billing_bandwidth_metric_unit

bytes_per_second

Описание параметров Витрины (ddis-data-mart)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ddis.hotreload.db.toggle

Включение функциональности ddis.hotreload.db

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

module.id

Идентификатор модуля

«datamart»

SERVER_PORT

Порт публичного интерфейса

ddis.datamart.env.server_port

8080

AUDIT_ENABLED

Включение функций аудита

ddis.datamart.env.audit.enabled

true

AUDIT_METAMODEL_URL

Адрес метамодели для аудита

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v2/metamodel

AUDIT_EVENT_URL

Адрес сервера для аудита

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v2/event

DB_URL

Адрес БД

ddis.datamart.env.db_url

„global.ddis.settings.rspit.url““ddis.common.db.mtls.sslmode“

DB_SCHEMA

Схема БД

ddis.datamart.env.db_schema

rspit

DB_DIALECT

Диалект БД

ddis.datamart.env.db_dialect

org.hibernate.dialect.PostgreSQL10Dialect

DB_HBM2DDL_AUTO

Режим проверки структуры БД

ddis.datamart.env.db_hbm2ddl_auto

none

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.datamart.env.management_server_port

8081

MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE

Список сервисов в актуаторе

ddis.datamart.env.management_endpoints_web_exprosure_include

health,info,loggers,prometheus,env

SPRING_PROFILES_ACTIVE

Профили режимов работы приложения

ddis.datamart.env.spring_profiles_active

audit,FT-delete-dictionaries,swagger

PARTITION

Идентификатор установки

ddis.datamart.env.partition

„global.ddis.metric.env.partition“

REGION

Регион установки

ddis.datamart.env.region

„global.ddis.metric.env.region“

ACCOUNT

Счет

ddis.datamart.env.account

„global.ddis.metric.env.account“

RN_TOTAL_SIZE_CALCULATION_PERIOD

Период сбора метрики datamart_rn_total_size

ddis.datamart.env.rn_total_size_calculation_period

0/15 * * ? * *

MODULE_ID

Идентификатор модуля

ddis.datamart.env.module_id

„global.ddis.metric.env.module_id“

UNIMON_ID

Идентификатор интеграции с сервисом UNIMON

ddis.datamart.env.unimon_id

„global.ddis.metric.env.unimon_id“

MANAGEMENT_METRICS_TAGS_APPLICATION

Теги метрик управления приложением

«ddis-data-mart»

AUDIT_MODULE

Значение модуля в metamodel.json

ddis.datamart.cm.data.audit.module

CI04669583_data-mart

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-data-mart

PACMAN_ATTRIBUTE_NAMES

Список наименований аттрибутов

„VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP“

PACMAN_ATTRIBUTE_VALUES

Список значений аттрибутов

„false,ALL,DDIS,“

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-data-mart

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-data-mart

APPLICATION_HOTRELOAD_SECRETSFILENAME

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_CREATEJKS

Параметр для включения hotreload

„false“

APPLICATION_HOTRELOAD_SCHEMA

Наименование схемы БД

ddis.datamart.env.db_schema

rspit

application.hotreload.jdbcUrl

Jdbc-адрес БД

ddis.datamart.env.db_url

„global.ddis.settings.rspit.url“ „ddis.common.db.mtls.sslmode“

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_HOTRELOAD_SECRETREFRESHINGWINDOW

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

„30000“

APPLICATION_HOTRELOAD_DRIVERCLASSNAME

Java-драйвер БД

org.postgresql.Driver

APPLICATION_HOTRELOAD_SECRETUPDATERETRYLIMIT

Количество попыток которое следует применить если обновление секретов и сертификатов завершилось провалом

„5“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload

„true“

APPLICATION_HOTRELOAD_SECRETUPDATERETRYWINDOW

Время ожидания повторной попытки применения секрета

„10000“

APPLICATION_HOTRELOAD_SECRETREFRESHLIMITINGWINDOW

Время ожидания после успешного обновления секрета

„180000“

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

default

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

Описание параметров Шлюза ТФС (ddis-gate-tfs)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

60000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ddis.hotreload.db.toggle

Включение функциональности ddis.hotreload.db

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ddis.gate-tfs.lock.timeout

Максимальный интервал блокировки сообщения в миллисекундах

FALSE

LONG

120000

рестарт приложения

ddis.gate-tfs.removal.enabled

Параметр, который включает удаление файлов из внешнего S3 хранилища

FALSE

BOOLEAN

ddis.gateway.env.removal_enabled

false

рестарт приложения

ddis.gate-tfs.resource.enabled

Включатель загрузки предварительно подготовленных ресурсов

FALSE

BOOLEAN

ddis.gateway.env.resource_enabled

true

рестарт приложения

ddis.gate-tfs.resource.update

Включение обновления ресурсов

FALSE

BOOLEAN

ddis.gateway.env.resource_update

true

рестарт приложения

ddis.gate-tfs.logging.request.enabled

Параметр включения функциональности отображения информации о запросах

FALSE

BOOLEAN

false

рестарт приложения

ddis.files.bucket.in.clean.name

Очистка хранилищ. Имя папки внешнего хранилища

FALSE

STRING

ddis.gate-tfs.in.bucketName

«»

рестарт приложения

ddis.files.bucket.in.clean.ttl

Очистка хранилищ. Время жизни файла (мин)

FALSE

LONG

ddis.gateway.ddis.files.bucket.in.clean_ttl

4320

рестарт приложения

ddis.files.bucket.in.clean.time

Очистка хранилищ. Крон выражение для запуска job очистки внешнего хранилища

FALSE

STRING

ddis.gateway.ddis.files.bucket.in.clean_time

0 */5 * * * *

рестарт приложения

ddis.files.bucket.in.clean.exclude

Очистка хранилищ. Регулярное выражение для файлов исключений

FALSE

STRING

ddis.gateway.ddis.files.bucket.in.clean_exclude

(?!)

рестарт приложения

ddis.files.bucket.in.clean.enabled

Очистка хранилищ. Параметр для включения очистки внешнего хранилища

FALSE

BOOLEAN

ddis.gateway.ddis.files.bucket.in.clean_enabled

true

рестарт приложения

ddis.files.bucket.local.clean.name

Очистка хранилищ. Имя папки внутреннего хранилища

FALSE

STRING

ddis.settings.s3.bucket.name

ddis

рестарт приложения

ddis.files.bucket.local.clean.ttl

Очистка хранилищ. Время жизни файла (мин)

FALSE

LONG

ddis.gateway.ddis.files.bucket.local.clean_ttl

4320

рестарт приложения

ddis.files.bucket.local.clean.time

Очистка хранилищ. Крон выражение для запуска job очистки внутреннего хранилища

FALSE

STRING

ddis.gateway.ddis.files.bucket.local.clean_time

0 */5 * * * *

рестарт приложения

ddis.files.bucket.local.clean.exclude

Очистка хранилищ. Регулярное выражение для файлов исключений

FALSE

STRING

ddis.gateway.ddis.files.bucket.local.clean_exclude

(?!)

рестарт приложения

ddis.files.bucket.local.clean.enabled

Очистка хранилищ. Параметр для включения очистки внутреннего хранилища

FALSE

BOOLEAN

ddis.gateway.ddis.files.bucket.local.clean_enabled

true

рестарт приложения

ddis.files.bucket.in.clean.maxcount

Очистка хранилищ. Максимальное количество файлов, удаляемых за одну итерацию

FALSE

LONG

ddis.gateway.ddis.files.bucket.in.clean_maxcount

3000

рестарт приложения

ddis.files.bucket.local.clean.maxcount

Очистка хранилищ. Максимальное количество файлов, удаляемых за одну итерацию

FALSE

LONG

ddis.gateway.ddis.files.bucket.local.clean_maxcount

3000

рестарт приложения

ddis.hotreload.filestorage.toggle

Тогл hotreload для секретов хранилищ

FALSE

BOOLEAN

ddis.hotreload.s3.toggle

true

рестарт приложения

ddis.hotreload.tfs.toggle

Тогл hotreload для Kafka ТФС

FALSE

BOOLEAN

ddis.hotreload.tfs.toggle

false

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_CREATEJKS

Параметр для включения hotreload

„false“

DDIS_SSL_ENABLED

Признак включения обработки SSL на приложении. Должен задаваться через системную переменную или переменную окружения для корректной работы SSL подключения в Kafka логгера. Обработка включает функциональность генерации JKS.

„false“

HOTRELOAD_DBSECRETS_FILE

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

HOT_RELOAD_YML

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

SECRET_REFRESHING_WINDOW

Время ожидания (сек) при получении события об изменении файла

„180000“

SECRET_REFRESH_LIMITING_WINDOW

Время ожидания после успешного обновления секрета

„3000“

SECRET_UPDATE_RETRY_LIMIT

Количество попыток если обновление секретов завершилось провалом

„3“

SECRET_UPDATE_RETRY_WINDOW

Время ожидания повторной попытки применения секрета

„5000“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload.

„true“

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

„datasource“

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

„file“

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

„ENTRY_CREATE“

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

„ENTRY_MODIFY“

APPLICATION_TRIGGERS_1_NAME

Название триггера default

„default“

APPLICATION_TRIGGERS_1_TYPE

Тип триггера file

„file“

APPLICATION_TRIGGERS_1_HANDLERS_0_NAME

Название обработчика audit

fileStorageReload

APPLICATION_TRIGGERS_1_FILES_0

Путь к отслеживаемому файлу

„/mnt/secrets/s3.properties“

APPLICATION_TRIGGERS_1_FILES_1

Путь к отслеживаемому файлу

„/mnt/secrets/s3tfs.properties“

APPLICATION_TRIGGERS_1_EVENTS_0

Событие создания файла

„ENTRY_CREATE“

APPLICATION_TRIGGERS_1_EVENTS_1

Событие изменения файла

„ENTRY_MODIFY“

s3client.storages.in.file-path-secrets

Путь до файла с секретами для хранилище файлов S3 с именем фабрики in. Имеет преимущество перед настройками s3client.storages.in.accessKey и s3client.storages.in.secretKey

/mnt/secrets/s3tfs.properties

s3client.storages.local.file-path-secrets

Путь до файла с секретами для хранилище файлов S3 с именем фабрики local. Имеет преимущество перед настройками s3client.storages.in.accessKey и s3client.storages.in.secretKey

/mnt/secrets/s3.properties

SERVER_PORT

Порт публичного интерфейса

ddis.gateway.env.server_port

8080

DATASOURCE_URL

Адрес базы данных компонента. Обязательно к указанию

ddis.gateway.env.datasource_url

„global.ddis.settings.gateway.url“ „ddis.common.db.mtls.sslmode“

DATASOURCE_MINIMUM_IDLE

Минимальное количество простаивающих соединений к базе данных компонента

ddis.gateway.env.datasource_minimum_idle

2

DATASOURCE_MAXIMUM_POOL_SIZE

Максимальное количество соединений с базой данных компонента

ddis.gateway.env.datasource_maximum_pool_size

10

DATASOURCE_CONNECTIONTIMEOUT

Время ожидания для подключений к базе данных (миллисекунды)

ddis.gateway.env.datasource_connectiontimeout

300000

DATASOURCE_SCHEMA

Схема базы данных компонента

ddis.gateway.env.datasource_schema

distribution_gateway

HIBERNATE_HBM2DDL_AUTO

Режим автоматического обновления схемы базы данных компонента

ddis.gateway.env.hibernate_hbm2ddl_auto

validate

SERVICE

Название Шлюза ТФС в схеме распространения

ddis.gateway.env.service

gate-tfs

APPLICATION_PROVIDERSTOSERVICES

Название Шлюза ТФС в зависимости от системы-источника (это значение имеет преимущество над значением настройки SERVICE)

ddis.gateway.env.application_providerservices

SFS:gate-tfs-sfs

LOCK_TIMEOUT

Максимальный интервал блокировки сообщения в миллисекундах

ddis.gateway.env.lock_timeout

120000

RESOURCES_PATH

Путь к каталогу с предварительно подготовленными записями формате JSON, предназначенными для загрузки в БД на старте приложения. Путь к каталогу в файловой системе должен начинаться с file: и оканчиваться разделителем пути, соответствующим файловой системе. Например, слеш

ddis.gateway.env.resource_path

file:///srv/resources/

PROVIDER_GROUP_ID

Групповой идентификатор потребителя Kafka по умолчанию

ddis.gateway.env.provider_group_id

„global.ddis.settings.gateway.provider_group_id“

CONTROLLER_ENDPOINT

URL Контроллера DDIS. Обязательно к указанию

ddis.gateway.env.controller_endpoint

http://svc-ddis-controller: „ddis.controller.env.server_port“

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.gateway.env.management_server_port

8081

MANAGEMENT_ENDPOINTS

Ресурсы интерфейса управления

ddis.gateway.env.management_endpoints

health,info,env,prometheus,loggers

MANAGEMENT_APPLICATION_TAG

Значение тега application

«ddis-gate-tfs»

ufs.monitoring.client.title

Название элемента развертывания

«DDIS.ШлюзТФС»

MAX_FILE_SIZE

Максимальный размер файла в составном (multipart) HTTP-запросе

ddis.gateway.env.maxFileSize

„ddis.env.maxFileSize“

MAX_REQUEST_SIZE

Максимальный размер составного (multipart) HTTP-запроса

ddis.gateway.env.maxRequestSize

„ddis.env.maxRequestSize“

LOADING_PARALLELISM

Максимальное количество файлов, одновременно загружаемых из интеграционного S3

ddis.gateway.env.loadingParallelism

8

REMOVAL_PARALLELISM

Максимальное количество файлов, одновременно удаляемых из интеграционного S3

ddis.gateway.env.removalParallelism

8

PROCESSING_PARALLELISM

Максимальное количество одновременно обрабатываемых сообщений

ddis.gateway.env.processingParallelism

8

MAX_HTTP_HEADER_SIZE

Максимальный размер HTTP заголовка

ddis.server.max-http-header-size

32768

SCHEDULING_ENABLED

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

ddis.gateway.cm.data.scheduling_enabled

true

APPLICATION_SENDING_ENABLED

Параметр включения функциональности, отправляющей нотификацию об обработке поступивших файлов (обратную квитанцию)

ddis.gateway.cm.data.application_sending_enabled

true

PROVIDER_SOCKET_TIMEOUT

Тайм-аут на передачу данных при работе с интеграционным S3. Значение 0 означает бесконечное ожидание

ddis.gateway.cm.data.provider_socket_timeout

10000

PROVIDER_REQUEST_TIMEOUT

Тайм-аут на выполнение запроса к интеграционному S3. Использование функциональности увеличивает потребление памяти. Отрицательное значение отключает функциональность

ddis.gateway.cm.data.provider_request_timeout

10000

PROVIDER_CONNECTION_TIMEOUT

Тайм-аут на инициализацию подключения к интеграционному S3. Значение 0 означает бесконечное ожидание

ddis.gateway.cm.data.provider_connection_timeout

10000

APPLICATION_PROVIDER_MESSAGELINKINGSTRATEGY

Стратегия связывания поступившего события с Поставщиком. Доступны значения BY_PROVIDER_ID, BY_MESSAGE_SPNAME и BY_MESSAGE_SCENARIOID. Иные значения не предусмотрены и вызовут ошибку на старте приложения. Стратегия BY_PROVIDER_ID связывает Сообщение с Поставщиком, который соответствует слушателю Kafka, прочитавшему Сообщение. Стратегия BY_MESSAGE_SPNAME связывает Сообщение с Поставщиком, имя которого указано в Сообщении. Стратегия BY_MESSAGE_SCENARIOID связывает Сообщение с Поставщиком, который обрабатывает соответствующий транспортный сценарий

ddis.gateway.cm.data.application_provider_messageLinkingStrategy

BY_MESSAGE_SCENARIOID

SHUTDOWN_TIMEOUT

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

ddis.gateway.cm.data.shutdown_timeout

60000

DDIS_AUDIT_AUDM_MODULE

Название элемента развертывания

„ddis-gate-tfs“

DDIS_AUDIT_AUDM_SOURCESYSTEM

Значение, которое проставляется в событие аудита в поле с названием АС-источника события

ddis.gateway.cm.data.audit_audm_sourcesystem

DDIS

DDIS_AUDIT_AUDTREST_MODULE

Значение модуля в audit-metamodel.json

ddis.gateway.cm.data.audit.module

CI04669583_distribution-gateway

AUDIT_METAMODEL_ENDPOINT

Эндпоинт метамодели аудита

ddis.settings.env.audit

„http://“global.platform.pprb.baseurl.audit“/v1/metamodel

AUDIT_EVENT_ENDPOINT

Адрес для отправки события аудита. Обязательное значение для клиента AUDT_REST

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v1/event

DDIS_AUDIT_CLIENT

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

«AUDT_REST»

APPLICATION_LOCALSTORAGEPATH

Настройка имени локального хранилища. Например, для фабрики файловых ресурсов с ключом local, будет иметь значение local

«local»

ufs.healthcheck.stub-agent-enabled

Параметр включения заглушки. Значение по умолчанию false.

«false»

ufs.integration.module.autostart

Настройки функциональности PCP (выключенный режим)

«false»

ufs.integration.module.notStartingListeners

Настройки функциональности PCP (выключенный режим)

«true»

ufs.standin.source

Источник

«remote»

ufs.standin.databaseType

Тип БД

«postgre»

APPLICATION_PCP_ENABLED

Параметр включения функциональности работы в режиме PCP

«false»

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-gate-tfs

PACMAN_ATTRIBUTE_VALUES

Список значений аттрибутов

„false,ALL,DDIS,“

PACMAN_ATTRIBUTE_NAMES

Список наименований аттрибутов

„VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP“

ddis.gate-tfs.sup.enabled

Параметр выключения считывания параметров из JSON формата. При значении false параметры берутся из переменных окружения

«true»

APPLICATION_SLEEP-DURATION

Задержка между попытками

„3000“

APPLICATION_THREAD-POOL-SIZE

Размер пула потоков библиотеки hotreload

„3“

APPLICATION_KAFKA_IN_SECURITY_SECURITYPROTOCOL

Задает протокол подключения к брокеру. Подробнее смотри параметр Kafka security.protocol. Если значение равно SSL, то подключается по SSL, иначе подключается по PLAINTEXT. Параметры подключения могут быть заданы явно, но если все или часть параметров не указаны, то используются настройки заданные в системных свойствах. Смешение настроек, когда часть задана явно, а часть через системные свойства, не допускается

„PLAINTEXT“

DDIS_FILES_ENABLED

Параметр включения функциональности очистки S3

ddis.gateway.ddis.files.enabled

true

ddis.environment.tenantCode

Позволяет статически задать код тенанта. Имеет преимущество перед способами получения значения tenantCode из системы управления параметрами или JNDI. Работает только вместе с аналогичным параметром ddis.environment.nodePath. При отсутствии хоть одного значения из пары применяется стандартное поведение

ddis.ufs.tenantCode

ddis.environment.nodePath

Позволяет статически задать код узла. Имеет преимущество перед способами получения значения nodePath из системы управления параметрами или JNDI. Работает только вместе с аналогичным параметром ddis.environment.tenantCode. При отсутствии хоть одного значения из пары применяется стандартное поведение

ddis.standin.node.path

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-gate-tfs

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-gate-tfs

APPLICATION_KAFKA_IN_IDLEBETWEENPOLLS

Задает интервал между чтениями сообщений

ddis.gateway.env.application.kafka.in.idlebetweenpolls

10000

APPLICATION_KAFKA_IN_RESTARTAFTERAUTHEXCEPTIONS

Включает рестарт при ошибке авторизации

ddis.gateway.env.application.kafka.in.restartafterauthexceptions

true

APPLICATION_KAFKA_IN_MAXPOLLRECORDS

Задает количество сообщений в одной вычитке

ddis.gateway.env.application.kafka.in.maxpollrecords

1

APPLICATION_KAFKA_IN_RECONNECTBACKOFFMS

Задает задержку первой повторной попытки подключения

ddis.gateway.env.application.kafka.in.reconnectbackoffms

500

APPLICATION_KAFKA_IN_RECONNECTBACKOFFMAXMS

Задает задержку последней повторной попытки подключения

ddis.gateway.env.application.kafka.in.reconnectbackoffmaxms

3000

Описание параметров Шлюза витрины (ddis-gate-data-mart)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ddis.hotreload.db.toggle

Включение функциональности ddis.hotreload.db

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ddis.hotreload.s3.toggle

Тогл hotreload для секретов S3

FALSE

BOOLEAN

ddis.hotreload.s3.toggle

true

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

ddis.gatedatamart.http.timeout

Тайм-аут HTTP запросов

FALSE

LONG

ddis.gatedatamart.http.timeout

90000

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

audit.enabled

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

ddis.datamart-gate.env.audit.enabled

true

audit.metamodelUrl

URL для загрузки метамодели

ddis.settings.env.audit

„http://“global.platform.pprb.baseurl.audit“/v2/metamodel

audit.eventUrl

URL для загрузки событий аудита

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v2/event

application.needInitialization

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

ddis.datamart-gate.env.needInitialization

false

application.datamart.url

Адрес API витрины Datamart

ddis.datamart-gate.env.application.datamart.url

http://svc-ddis-data-mart:“ddis.datamart.env.server_port“

application.datamart.maxBufferLimit

Ограничение в байтах на объем буфера при чтении данных из витрины

ddis.datamart-gate.env.application.datamart.maxBufferLimit

5242880

application.datamart.mode

Параметр позволяет указать специальный режим работы. Значение disabled отключает интеграцию с витриной

ddis.datamart-gate.env.application.datamart.mode

enabled

application.datamart.input.availableSubscriptionTypes

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

ddis.datamart-gate.env.application.datamart.input.availableSubscriptionTypes

DISTRIBUTION

application.ceph.mode

Параметр позволяет указать специальный режим работы. Значение disabled отключает интеграцию с Ceph

ddis.datamart-gate.env.ceph.mode

enabled

application.ceph.endpoint

Адрес сервиса Ceph

ddis.datamart-gate.env.ceph.endpoint

ddis.settings.s3.url“

application.ceph.region

Регион AWS

ddis.datamart-gate.env.ceph.region

„ddis.settings.s3.signing.region“

application.ceph.bucket

Бакет в Ceph для хранения загруженных объектов

ddis.datamart-gate.env.ceph.bucket

„ddis.settings.s3.bucket.name“

application.ceph.bucketCreationMode

Режим создания бакета в случае отсутствия

«create»

application.ceph.protocol

Протокол подключения

ddis.datamart-gate.env.ceph.protocol

„global.ddis.settings.s3.protocol“

application.controller.url

Адрес API контроллера

ddis.datamart-gate.env.controller.url

http://svc-ddis-controller: „ddis.controller.env.server_port“

application.controller.mode

Режим интеграции с контроллером

ddis.datamart-gate.env.controller.mode

enabled

application.quartz.mode

Параметр позволяет задать специальный режим работы. Значение test включает in memory хранение заданий, значение disabled отключает планирование задач, значение enabled включает штатную работу

«enabled»

application.quartz.copyContentPart.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «скопировать часть данных в Ceph»

ddis.datamart-gate.env.quartz.copyContentPart.rerunDelay

10000

application.quartz.copyContentPart.retryCount

Количество попыток перезапуска задачи «скопировать часть данных в Ceph»

ddis.datamart-gate.env.quartz.copyContentPart.retryCount

30

application.quartz.createDistribution.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «создать распространение»

ddis.datamart-gate.env.quartz.createDistribution.rerunDelay

10000

application.quartz.createDistribution.retryCount

Количество попыток перезапуска задачи «создать распространение»

ddis.datamart-gate.env.quartz.createDistribution.retryCount

180

application.quartz.loadDictionaryModel.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «загрузить модель справочника»

ddis.datamart-gate.env.quartz.loadDictionaryModel.rerunDelay

10000

application.quartz.loadDictionaryModel.retryCount

Количество попыток перезапуска задачи «загрузить модель справочника»

ddis.datamart-gate.env.quartz.loadDictionaryModel.retryCount

30

application.quartz.readDictionaryVersionContent.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «прочитать содержимое версии из витрины»

ddis.datamart-gate.env.quartz.readDictionaryVersionContent.rerunDelay

10000

application.quartz.readDictionaryVersionContent.retryCount

Количество попыток перезапуска задачи «прочитать содержимое версии из витрины»

ddis.datamart-gate.env.quartz.readDictionaryVersionContent.retryCount

180

application.quartz.readDomains.cron

Cron-выражение для запуска задачи «перевычитать домены из витрины»

ddis.datamart-gate.env.quartz.readDomains.cron

0 0/5 * ? * * *

application.quartz.readNewDictionaryVersions.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «прочитать из витрины версии для указанного поступления»

ddis.datamart-gate.env.quartz.readNewDictionaryVersions.rerunDelay

10000

application.quartz.readNewDictionaryVersions.retryCount

Количество попыток перезапуска задачи «прочитать из витрины версии для указанного поступления»

ddis.datamart-gate.env.quartz.readNewDictionaryVersions.retryCount

180

application.quartz.readOneDictionaryVersion.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «прочитать из витрины одну указанную версию»

ddis.datamart-gate.env.quartz.readOneDictionaryVersion.rerunDelay

10000

application.quartz.readOneDictionaryVersion.retryCount

Количество попыток перезапуска задачи «прочитать из витрины одну указанную версию»

ddis.datamart-gate.env.quartz.readOneDictionaryVersion.retryCount

180

application.quartz.reloadDictionaryVersion.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «перевычитать из витрины указанную версию»

ddis.datamart-gate.env.quartz.reloadDictionaryVersion.rerunDelay

10000

application.quartz.reloadDictionaryVersion.retryCount

Количество попыток перезапуска задачи «перевычитать из витрины указанную версию»

ddis.datamart-gate.env.quartz.reloadDictionaryVersion.retryCount

180

application.quartz.readNewInputs.cron

Cron-выражение для запуска задачи «прочитать новые поступления из витрины»

ddis.datamart-gate.env.quartz.readNewInputs.cron

0 0/5 * ? * * *

application.quartz.createDistributionForSyntheticInput.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «создать распространение по синтетическому поступлению»

ddis.datamart-gate.env.quartz.createDistributionForSyntheticInput.rerunDelay

10000

application.quartz.createDistributionForSyntheticInput.retryCount

Количество попыток перезапуска задачи «создать распространение по синтетическому поступлению»

ddis.datamart-gate.env.quartz.createDistributionForSyntheticInput.retryCount

180

application.quartz.readDictionaryVersionsForSyntheticInput.rerunDelay

Интервал в миллисекундах до повторного запуска задачи «прочитать из витрины версии из синтетического поступления»

ddis.datamart-gate.env.quartz.readDictionaryVersionsForSyntheticInput.rerunDelay

10000

application.quartz.readDictionaryVersionsForSyntheticInput.retryCount

Количество попыток перезапуска задачи «прочитать из витрины версии из синтетического поступления»

ddis.datamart-gate.env.quartz.readDictionaryVersionsForSyntheticInput.retryCount

180

application.quartz.driverDelegateClass

Делегат для работы Quartz с БД

ddis.datamart-gate.env.application.quartz.driverDelegateClass

org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

spring.datasource.url

Адрес базы данных

ddis.datamart-gate.env.spring.datasource.url

„global.ddis.settings.gate-data-mart.url“ „ddis.common.db.mtls.sslmode“

spring.jpa.show-sql

Отображать sql запросы в логе приложения

ddis.datamart-gate.env.spring.jpa.show-sql

false

spring.jpa.properties.hibernate.dialect

Hibernate диалект отображения java entity моделей на объекты БД

ddis.datamart-gate.env.spring.jpa.properties.hibernate.dialect

org.hibernate.dialect.PostgreSQLDialect

spring.jpa.properties.hibernate.hbm2ddl.auto

Автоматическое обновление схемы базы данных

ddis.datamart-gate.env.spring.jpa.properties.hibernate.hbm2ddl.auto

none

spring.jpa.properties.hibernate.format_sql

Настройка подробного вывода логов. Значение true - Hibernate отформатирует сгенерированные SQL запросы, чтобы сделать их более читабельным, но занимает больше места на экране

ddis.datamart-gate.env.spring.jpa.properties.hibernate.format_sql

true

spring.jpa.properties.hibernate.default_schema

Схема базы данных

ddis.datamart-gate.env.spring.jpa.properties.hibernate.default_schema

gatedatamart

spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults

Переключатель использования значений настроек по умолчанию метаданных JDBC (не изменять)

ddis.datamart-gate.env.spring.jpa.properties.hibernate.temp.use_jdbc_metadata_defaults

false

management.server.port

Порт интерфейса управления

ddis.datamart-gate.env.management.server.port

8081

MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE

Список сервисов в актуаторе

ddis.datamart-gate.env.management.endpoints.web.exposure.include

health,loggers,prometheus,info,env

MANAGEMENT_ENDPOINTS_LOGGERS_ENABLED

Отображение актуатора журналирования

ddis.datamart-gate.env.management.endpoints.loggers.enavled

true

MANAGEMENT_METRICS_TAGS_APPLICATION

Теги метрик управления приложением

«ddis-gate-data-mart»

AUDIT_MODULE

Значение модуля в metamodel.json

ddis.datamart-gate.cm.data.audit.module

CI04669583_ddis-gate-data-mart

application.pacman.attribute.names

Список наименований аттрибутов

«VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP»

application.pacman.attribute.values

Список значений аттрибутов

«false,ALL,DDIS,»

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-gate-data-mart

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-gate-data-mart

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-gate-data-mart

APPLICATION_HOTRELOAD_SECRETSFILENAME

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

application.ceph.filepathsecrets

Путь к файлу с данными для аутентификации (secretkey,accesskey)

/mnt/secrets/s3.properties

APPLICATION_HOTRELOAD_SCHEMA

Наименование схемы БД

ddis.datamart-gate.env.spring.jpa.properties.hibernate.default_schema

gatedatamart

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_HOTRELOAD_SECRETREFRESHINGWINDOW

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

„30000“

APPLICATION_HOTRELOAD_DRIVERCLASSNAME

Java-драйвер БД

org.postgresql.Driver

APPLICATION_HOTRELOAD_SECRETUPDATERETRYLIMIT

Количество попыток которое следует применить если обновление секретов и сертификатов завершилось провалом

„5“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload

„true“

APPLICATION_HOTRELOAD_SECRETUPDATERETRYWINDOW

Время ожидания повторной попытки применения секрета

„10000“

APPLICATION_HOTRELOAD_SECRETREFRESHLIMITINGWINDOW

Время ожидания после успешного обновления секрета

„180000“

APPLICATION_THREAD-POOL-SIZE

Размер пула потоков библиотеки hotreload

„1“

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

datasource

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_1_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_1_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

APPLICATION_TRIGGERS_1_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/s3.properties

APPLICATION_TRIGGERS_1_HANDLERS_0_NAME

Название обработчика audit

s3Reload

APPLICATION_TRIGGERS_1_NAME

Название триггера default

default

APPLICATION_TRIGGERS_1_TYPE

Тип триггера file

file

Описание параметров Управление витриной через пользовательский интерфейс (ddis-rspit-rest)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ddis.hotreload.db.toggle

Включение/отключение функционала hotreload БД в обработчике события

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

Параметры сервиса

Переменная окружения

Описание

Переменная дистрибутива

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

APPLICATION_HOTRELOAD_SECRETSFILENAME

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_CREATEJKS

Параметр для включения hotreload

„false“

APPLICATION_HOTRELOAD_SCHEMA

Наименование схемы БД

ddis.datamart.env.db_schema

rspit

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_HOTRELOAD_SECRETREFRESHINGWINDOW

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

„30000“

APPLICATION_HOTRELOAD_DRIVERCLASSNAME

Java-драйвер БД

org.postgresql.Driver

APPLICATION_HOTRELOAD_SECRETUPDATERETRYLIMIT

Количество попыток которое следует применить если обновление секретов и сертификатов завершилось провалом

„5“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload

„true“

APPLICATION_HOTRELOAD_SECRETUPDATERETRYWINDOW

Время ожидания повторной попытки применения секрета

„10000“

APPLICATION_HOTRELOAD_SECRETREFRESHLIMITINGWINDOW

Время ожидания после успешного обновления секрета

„180000“

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

default

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

SERVER_PORT

Порт публичного интерфейса

ddis.rest.env.server_port

8080

DATASOURCE_URL

Адрес базы данных компонента. Обязательно к указанию

ddis.rest.env.datasource_url

„global.ddis.settings.rspit.url“ „ddis.common.db.mtls.sslmode“

DATASOURCE_SCHEMA

Схема базы данных компонента

ddis.datamart.env.db_schema

rspit

HIBERNATE_DIALECT

Диалект базы данных компонента

ddis.rest.env.hibernate_dialect

org.hibernate.dialect.PostgreSQL10Dialect

HIBERNATE_HBM2DDL_AUTO

Режим автоматического обновления схемы базы данных компонента

ddis.rest.env.hibernate_hbm2ddl_auto

none

PROFILES

Профили режимов работы приложения

ddis.rest.env.profiles

audit

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.rest.env.management_server_port

8081

MANAGEMENT_ENDPOINTS

Ресурсы интерфейса управления

ddis.rest.env.management_endpoints

health,prometheus,loggers,env,info

MANAGEMENT_APPLICATION_TAG

Значение тега application

«ddis-rspit-rest»

RESOURCES_LOAD

Загрузка предварительно подготовленных ресурсов

ddis.rest.env.resources_load

false

RESOURCES_PATH

Путь к каталогу с предварительно подготовленными записями формате JSON, предназначенными для загрузки в БД на старте приложения. Путь к каталогу в файловой системе должен начинаться с file: и оканчиваться разделителем пути, соответствующим файловой системе. Например, слеш

ddis.rest.env.resources_path

RETRY_CRON

Интервал переотправки распространений

ddis.rest.env.retry_cron

0 */10 * * * *

AUDIT_METAMODEL_ENDPOINT

Эндпоинт метамодели аудита

ddis.settings.env.audit

„http://“global.platform.pprb.baseurl.audit“/v1/metamodel

AUDIT_EVENT_ENDPOINT

Адрес для отправки события аудита. Обязательное значение для клиента AUDT_REST

ddis.settings.env.audit

http://“global.platform.pprb.baseurl.audit“/v1/event

MAX_HTTP_HEADER_SIZE

Максимальный размер HTTP заголовка

ddis.server.max-http-header-size

32768

MAX_FILE_SIZE

Максимальный размер файла в составном (multipart) HTTP-запросе

ddis.rest.env.maxFileSize

„ddis.env.maxFileSize“

MAX_REQUEST_SIZE

Максимальный размер составного (multipart) HTTP-запроса

ddis.rest.env.maxRequestSize

„ddis.env.maxRequestSize“

LOGGING_CUSTOM_FIELDS

Перечень дополнительных полей в записях логирования для конфигурации classpath:logback-stash.xml

„{«application»:»ddis-rspit-rest»}“

DATASOURCE_MINIMUM_IDLE

Минимальное количество простаивающих соединений к базе данных компонента

ddis.rest.env.datasource_minimum_idle

1

DATASOURCE_MAXIMUM_POOL_SIZE

Максимальное количество соединений с базой данных компонента

ddis.rest.env.datasource_maximum_pool_size

5

DDIS_AUDIT_AUDTREST_MODULE

Значение модуля в audit-metamodel.json

ddis.rest.cm.data.audit.module

CI04669583_rspit-rest

PACMAN_ATTRIBUTE_NAMES

Список наименований аттрибутов

«VERSION,CHANNEL,SUBSYSTEM,TERBANK,OSB,VSP»

PACMAN_ATTRIBUTE_VALUES

Список значений аттрибутов

«false,ALL,DDIS,»

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-rspit-rest

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-rspit-rest

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-rspit-rest

SERVICE_NAME

Имя сервиса

ddis.rest.ulogger.env.service_name

ddis-rspit-rest

Описание параметров Фасада (ddis-facade)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

10000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ufs.baseUrl.AUTHORIZATION

Путь до сервиса авторизации

FALSE

STRING

ddis.facade.env.ufs.iam.auth.host

рестарт приложения

healthcheck.metric.task.attempt.period

Задержка перед повторной попыткой снятия метрик

FALSE

LONG

2000

рестарт приложения

healthcheck.cascadeprotection.attempt.period

Задержка перед повторной попыткой обработки метрик и установки флага (мс)

FALSE

LONG

10000

рестарт приложения

healthcheck.cascadeprotection.chatter.step.count

Объем выборки окна дребезга

FALSE

LONG

5

рестарт приложения

healthcheck.cascadeprotection.chatter.percent

Процент значений метрик превышающий дребезг

FALSE

LONG

50

рестарт приложения

healthcheck.metric.logger.attempt.period

Периодичность логирования ошибок незаданных пороговых значений (мс)

FALSE

LONG

600000

рестарт приложения

healthcheck.metric.logger.level

Уровень логирования ошибок незаданных пороговых значений

FALSE

STRING

WARN

рестарт приложения

healthcheck.cascadeprotection.errorcode

Код ошибки для механизма защиты от каскадных отказов

FALSE

LONG

healthcheck.cascadeprotection.serviceunavailable

503

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

aim.auth.token.cookie.name

Название куки токена аутентификации

FALSE

STRING

UFS-TOKEN

рестарт приложения

ufs.security.employee.identifier.sudir.header

Название заголовка HTTP запроса с идентификатором сотрудника

FALSE

STRING

iv-user

рестарт приложения

ufs.security.employee.identifier.session.attribute

Название мета-атрибута сессии с идентификатором сотрудника

FALSE

STRING

employeeLogin

рестарт приложения

ufs.security.employee.identifier.verification.enabled

Признак проверки идентификатора сотрудника

FALSE

BOOLEAN

false

рестарт приложения

ufs.auth.routing.refresh.thread.pool.size

Размер пула потоков для обновления токена маршрутизации

FALSE

LONG

3

рестарт приложения

ufs.auth.routing.refresh.duration.milliseconds

Ожидаемое время выполнения задачи по обновлению токена маршрутизации

FALSE

LONG

3000

рестарт приложения

platform.auth.filter.nonclients.allowed

Признак разрешения работы для неклиентов

FALSE

BOOLEAN

FALSE

рестарт приложения

platform.auth.filter.nonclients.client.type

Название мета-атрибута сессии с идентификатором типа клиента для неклиентов

FALSE

STRING

clientType

рестарт приложения

platform.auth.filter.nonclients.client.type.noclient

Значение типа клиента для неклиентов

FALSE

STRING

guest

рестарт приложения

ufs.security.jwt.aud.list

Список разрешенных значений для aud в JWT токене

TRUE

STRING

ufs.security.jwt.aud.list

рестарт приложения

ufs.security.session.save.retry.count

Количество попыток сохранения клиентского IP в сессии

FALSE

LONG

3

рестарт приложения

ufs.security.session.save.retry.mindelay

Минимальное время ожидания перед повторной попыткой сохранения значения клиентского IP в сессии

FALSE

LONG

100

рестарт приложения

ufs.security.session.save.retry.maxdelay

Максимальное время ожидания перед повторной попыткой сохранения значения клиентского IP в сессии

FALSE

LONG

1000

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

SERVER_PORT

Порт публичного интерфейса

ddis.facade.env.port.application

8080

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.facade.env.port.management

8081

AUTH_ENABLED

Включение режима авторизации

ddis.facade.env.auth_enabled

„global.ddis.settings.iam.auth_enabled“

MANAGEMENT_METRICS_TAGS_APPLICATION

Теги метрик управления приложением

«ddis-facade»

MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE

Список сервисов в актуаторе

«health,info,env,loggers,prometheus,metrics,gateway»

STDE_ENABLED

Включение/отключение режима StandIn

„false“

PLATFORM_RUNTIME_ENVIRONMENT

Среда выполнения платформы

„OPENSHIFT“

DDIS_SSL_JKSCREATIONENABLED

Включение создания JKS

„false“

DDIS_SSL_ENABLED

Признак включения обработки SSL на приложении. Должен задаваться через системную переменную или переменную окружения для корректной работы SSL подключения в Kafka логгера. Обработка включает функциональность генерации JKS

„false“

UFS_AUDIT_CLIENT_STUB

Включение режима заглушки аудита

„true“

Описание параметров Трансформера (ddis-transformer)#

Параметры сервиса:

Наименование параметра

Описание параметра

Признак списочного параметра

Тип данных

Переменная дистрибутива

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

Условие применения

ddis.hotreload.db.toggle

Тогл hotreload для секретов БД

FALSE

BOOLEAN

ddis.hotreload.db.toggle

true

рестарт приложения

ddis.hotreload.filestorage.toggle

Тогл hotreload для секретов хранилища файлов

FALSE

BOOLEAN

ddis.hotreload.s3.toggle

true

рестарт приложения

ddis.transformer.invalidation.cron

Cron выражение, расписание запуска задачи инвалидации долго выполняющихся задач трансформации

FALSE

STRING

ddis.transformer.env.invalidator_cron

0 0/3 * * * ?

рестарт приложения

ddis.transformer.invalidation.timeout.minutes

Период в минутах, по истечении которого долго выполняющимся задачам трансформации будет проставлен статус ERROR

FALSE

LONG

ddis.transformer.env.invalidator_timeout_minutes

120

рестарт приложения

ddis.transformer.transformation.cron

Cron выражение, расписание запуска трансформации

FALSE

STRING

ddis.transformer.env.transformer_cron

0 0/3 * * * ?

рестарт приложения

healthcheck.cascadeprotection.attempt.period

Задержка перед повторной попыткой обработки метрик и установки флага (мс)

FALSE

LONG

10000

рестарт приложения

healthcheck.cascadeprotection.chatter.percent

Процент значений метрик превышающий дребезг

FALSE

LONG

50

рестарт приложения

healthcheck.cascadeprotection.chatter.step.count

Объем выборки окна дребезга

FALSE

LONG

5

рестарт приложения

healthcheck.cascadeprotection.errorcode

Код ошибки для механизма защиты от каскадных отказов

FALSE

LONG

healthcheck.cascadeprotection.serviceunavailable

503

рестарт приложения

healthcheck.metric.logger.attempt.period

Периодичность логирования ошибок незаданных пороговых значений (мс)

FALSE

LONG

600000

рестарт приложения

healthcheck.metric.logger.level

Уровень логирования ошибок незаданных пороговых значений

FALSE

STRING

WARN

рестарт приложения

healthcheck.metric.task.attempt.period

Задержка перед повторной попыткой снятия метрик

FALSE

LONG

2000

рестарт приложения

hotreload.timeLowerBound

Нижняя граница времени применения секрета (раньше этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeLowerBound

5

рестарт приложения

hotreload.timeUpperBound

Верхняя граница времени применения секрета (позже этого времени применение секрета не начнется)

FALSE

LONG

hotreload.timeUpperBound

150

рестарт приложения

monitoring.metrics.infra.exclude

Регулярное выражение для исключения инфраструктурных метрик мониторинга из публикации в микрометр registry true/false

FALSE

STRING

рестарт приложения

monitoring.metrics.micrometer.publish.idle

Не публиковать метрики мониторинга в микрометр registry true/false

FALSE

BOOLEAN

false

рестарт приложения

platform.client.ip.header

Название HTTP заголовка, в котором содержится IP адрес клиента

FALSE

STRING

ddis.authentication.headers.clientIpHeader

iv-remote-address

рестарт приложения

platform.http.timeout

Тайм-аут HTTP запроса

FALSE

LONG

60000

рестарт приложения

pv.node.type

Тип блока, принимает одно из 3-х допустимых значений: PRIMARY, SANDBOX, CTL

FALSE

STRING

ddis.ufs.env.pv.node.type

PRIMARY

рестарт приложения

ufs.standin.node.path

Путь к узлу

FALSE

STRING

ddis.standin.node.path

NODE_PATH

рестарт приложения

ufs.tenant.code

Код тенанта

FALSE

STRING

ddis.ufs.tenantCode

TENANT_CODE

рестарт приложения

ufsparams.agent.delay

Interval between configuration refresh checks

FALSE

LONG

10000

рестарт приложения

ufsparams.module.monitoring.enabled

Включение отправки метрики мониторинга при запросе параметра (true - метрики отправляются, false - метрики не отправляются)

FALSE

BOOLEAN

false

рестарт приложения

Переменные окружения:

Переменная окружения

Описание

Переменная дистрибутива

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

APPLICATION_TRIGGERS_0_NAME

Название триггера datasource

datasource

APPLICATION_TRIGGERS_0_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_0_HANDLERS_0_NAME

Название обработчика databaseReload

databaseReload

APPLICATION_TRIGGERS_0_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/db.properties

APPLICATION_TRIGGERS_0_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_0_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

APPLICATION_TRIGGERS_1_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_1_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

APPLICATION_TRIGGERS_1_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/s3.properties

APPLICATION_TRIGGERS_1_NAME

Название триггера default

default

APPLICATION_TRIGGERS_1_TYPE

Тип триггера file

nil

APPLICATION_TRIGGERS_1_HANDLERS_0_NAME

Название обработчика audit

logger

APPLICATION_TRIGGERS_2_NAME

Параметр библиотеки Hotreload

filestorage

APPLICATION_TRIGGERS_2_TYPE

Тип триггера file

file

APPLICATION_TRIGGERS_2_HANDLERS_0_NAME

Название триггера logger

fileStorageReload

APPLICATION_TRIGGERS_2_FILES_0

Путь к отслеживаемому файлу

/mnt/secrets/s3.properties

APPLICATION_TRIGGERS_2_EVENTS_0

Событие создания файла

ENTRY_CREATE

APPLICATION_TRIGGERS_2_EVENTS_1

Событие изменения файла

ENTRY_MODIFY

application.db.secretsFileName

Путь к файлу с секретами БД

/mnt/secrets/db.properties

s3client.storages.local.file-path-secrets

Путь до файла с секретами для хранилище файлов S3 с именем фабрики local. Имеет преимущество перед настройками s3client.storages.in.accessKey и s3client.storages.in.secretKey.

/mnt/secrets/s3.properties

APPLICATION_ENABLETRIGGERS

Параметр для использования обработчиков

„true“

APPLICATION_CREATEJKS

Параметр для включения Hotreload

„false“

DDIS_SSL_ENABLED

Признак включения обработки SSL на приложении. Должен задаваться через системную переменную или переменную окружения для корректной работы SSL подключения в Kafka логгера. Обработка включает функциональность генерации JKS.

„false“

HOTRELOAD_DBSECRETS_FILE

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

HOT_RELOAD_YML

Файл для отслеживания с логином и паролем для БД

/mnt/secrets/db.properties

SECRET_REFRESHING_WINDOW

Время ожидания (сек) при получении события об изменении файла

„180000“

SECRET_REFRESH_LIMITING_WINDOW

Время ожидания после успешного обновления секрета

„3000“

SECRET_UPDATE_RETRY_LIMIT

Количество попыток если обновление секретов завершилось провалом

„3“

SECRET_UPDATE_RETRY_WINDOW

Время ожидания повторной попытки применения секрета

„5000“

APPLICATION_HOTRELOAD-DB_ENABLED

Включатель функционала создания хэндлера databaseReload.

„true“

SERVER_PORT

Порт публичного интерфейса

ddis.transformer.env.server_port

8080

MANAGEMENT_SERVER_PORT

Порт интерфейса управления

ddis.transformer.env.management_server_port

8081

MANAGEMENT_METRICS_TAGS_APPLICATION

Теги метрик управления приложением

«ddis-transformer»

DATASOURCE_URL

Адрес базы данных компонента. Обязательно к указанию

ddis.transformer.env.spring_datasource_url

„global.ddis.settings.transformer.url“ „ddis.common.db.mtls.sslmode“

DATASOURCE_SCHEMA

Схема базы данных компонента

ddis.transformer.env.spring_datasource_schema

distribution_transformer

DATASOURCE_DRIVER_CLASS_NAME

Имя класса драйвера для подключения к БД Трансформера

ddis.transformer.env.spring_datasource_driver_class_name

org.postgresql.Driver

SHOW_SQL

Логирование SQL запросов

ddis.transformer.env.show_sql

false

JPA_PROPERTIES_HIBERNATE_DIALECT

Диалект обратного отображения hibernate java entity моделей на объекты БД

ddis.transformer.env.hibernate_dialect

org.hibernate.dialect.PostgreSQL94Dialect

ENDPOINTS_WEB_INCLUDE

Список включенных endpoints Actuator, разделенных запятой

ddis.transformer.env.endpoints_web_include

info,loggers,health,prometheus,env

ENDPOINT_LOGGERS_ENABLED

Включить endpoints loggers Actuator - логгер актуатора

ddis.transformer.env.endpoint_loggers_enabled

true

HEALTH_SHOW_DETAILS

Отображать детали endpoints health Actuator(always,never,when-authorized)

ddis.transformer.env.health_show_details

always

DATASOURCE_MINIMUM_IDLE

Минимальное количество простаивающих соединений к базе данных компонента

ddis.transformer.env.datasource_minimum_idle

1

DATASOURCE_MAXIMUM_POOL_SIZE

Максимальное количество соединений с базой данных компонента

ddis.transformer.env.datasource_maximum_pool_size

16

APPLICATION_SERVICE

Имя приложения. Значение параметра должно соответствовать имени стейджа, который должно обрабатывать приложение

ddis.transformer.env.application_service

stx-transformer

XSD_VALIDATION_DISABLED

Ключ выключения валидации выходящего XML по XSD схеме (по-умолчанию выключена)

ddis.transformer.env.xsd_validation_disabled

true

INVALIDATOR_CRON

Расписание запуска задачи инвалидации долго выполняющихся задач трансформации

ddis.transformer.env.invalidator_cron

0 0/3 * * * ?

INVALIDATOR_TIMEOUT_MINUTES

Прерывание АКТИВНОГО процесса трансформации по тайм-ауту

ddis.transformer.env.invalidator_timeout_minutes

120

UFS_MONITORING_CLIENT_TITLE

Название элемента развертывания

ddis-transformer

UFS_PLATFORM_CONFIG_DEPLOYMENT-UNIT

Название элемента развертывания

ddis-transformer

UFS_PLATFORM_ENVIRONMENT_PRODUCT_DEPLOYMENTUNIT

Название элемента развертывания

ddis-transformer

TRANSFORMER_STX_FILE_PATH_<PROVIDER_NAME>

Путь к файлу STX преобразования (абсолютный или относительный к рабочему каталогу)

APPLICATION_SHEDLOCK_TASK_TRANSFORMATION_LOCKATLEASTFORSTRING

Минимальное время удержания блокировки для задачи трансформации

ddis.transformer.env.transformation.lockatleastforstring

PT15S

APPLICATION_SHEDLOCK_TASK_TRANSFORMATION_LOCKATMOSTFORSTRING

Максимальное время удержания блокировки для задачи трансформации

ddis.transformer.env.transformation.lockatmostforstring

PT15S

События системного журнала#

Действия, производимые продуктом, логируются и записываются в локальный лог контейнера. С этой целью продукт может быть интегрирован со сторонним компонентом, предоставляющим данную функциональность. В качестве такого компонента может использоваться компонент Журналирование (LOGA) продукта Platform V Monitor (OPM) (см. раздел Платформенные зависимости документа Руководство по установке). Продукт не имеет локального журнала для записи логов. Запись осуществляется автоматически по умолчанию.

Существует возможность настройки уровней логирования, нет возможности отключения логирования. Уровни логирования настраиваются системным администратором в стороннем компоненте логирования, например, в компоненте LOGA при его использовании в соответствии с его эксплуатационной документацией.

Идентификаторами компонента в логах являются: «ddis-controller», «ddis-publish-db», «ddis-gate-tfs», «ddis-facade», «ddis-data-mart», «ddis-gate-data-mart», «ddis-rspit-rest».

Системный журнал содержит события, связанные с экземпляром компонента LOGA, запущенного в контексте каждого конкретного прикладного модуля. Например, в этот журнал попадают сообщения о регистрации метрик, публикуемых прикладным модулем. Технический специалист, администрирующий прикладной модуль или технологический сервис может использовать данные системного журнала для диагностики сбойных ситуаций, относящихся к некорректному использованию компонента LOGA.

Для системного журнала используются следующие приоритеты:

  • ERROR:

    • ошибки вызова сервисов Platform V, кроме отправки метрик в компонент DDIS;

    • ошибки интеграционных вызовов.

  • WARNING:

    • ошибки отправки метрик в компонент DDIS;

    • некритичные ошибки, кроме ошибок отправки метрик.

  • INFO: сообщения о вызове и возврате из вызова интеграционного адаптера.

  • DEBUG:

    • все входные и выходные параметры операций сервисов;

    • все входные и выходные параметры вызовов интеграционных адаптеров.

Запись и просмотр (поиск, анализ) событий, происходящих в функциональных подсистемах, поддерживается в технологическом сервисе компонентом LOGA.

Включение уровня логирования DEBUG не рекомендуется использовать в промышленных инсталляциях.

Примеры отправляемого события типа ERROR в формате json:

{
  "timestamp":1681382589888,
  "levelStr":"ERROR",
  "loggerName":"org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]",
  "threadName":"http-nio-8080-exec-9",
  "callerClass":"org.apache.juli.logging.DirectJDKLog",
  "callerMethod":"log","callerFile":"DirectJDKLog.java",
  "callerLine":175,
  "message":"Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is *.datamart.model.exception.DictionaryModelNotFoundException: error.dictionaryModel.notFound] with root cause","stackTrace":"*.datamart.model.exception.DictionaryModelNotFoundException: error.dictionaryModel.notFound\n\tat *.datamart.service.DictionaryServiceImpl.copyDictionaryModel(DictionaryServiceImpl.java:161)\n\tat *.datamart.service.DictionaryServiceImpl$$FastClassBySpringCGLIB$$d5a1b703.invoke(<generated>)\n\tat org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:771)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)\n\tat org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:371)\n\tat org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:134)\n\tat org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)\n\tat org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:749)\n\tat org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:691)\n\tat *.datamart.service.DictionaryServiceImpl$$EnhancerBySpringCGLIB$$fd2116a8.copyDictionaryModel(<generated>)\n\tat *.datamart.controller.DictionaryController.getDictionaryModel(DictionaryController.java:88)\n\tat sun.reflect.GeneratedMethodAccessor320.invoke(Unknown Source)\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n\tat java.lang.reflect.Method.invoke(Method.java:498)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197)\n\tat org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893)\n\tat org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:807)\n\tat org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1061)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:626)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:733)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)\n\t... 37 frames truncated\n",
  "mdc":{}
}

Примеры отправляемого события типа WARNING в формате json:

{
  "timestamp":1681382590008,
  "levelStr":"WARN",
  "loggerName":"org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver",
  "threadName":"http-nio-8080-exec-8",
  "callerClass":"org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver",
  "callerMethod":"doResolveHandlerMethodException",
  "callerFile":"ExceptionHandlerExceptionResolver.java",
  "callerLine":428,
  "message":"Failure in @ExceptionHandler *.datamart.controller.ExceptionController#handleApplicationException(ApplicationException)",
  "stackTrace":"org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation\n\tat org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:233)\n\tat org.springframework.web.servlet.mvc.method.annotation.HttpEntityMethodProcessor.handleReturnValue(HttpEntityMethodProcessor.java:219)\n\tat org.springframework.web.method.support.HandlerMethodReturnValueHandlerComposite.handleReturnValue(HandlerMethodReturnValueHandlerComposite.java:78)\n\tat org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:124)\n\tat org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException(ExceptionHandlerExceptionResolver.java:421)\n\tat org.springframework.web.servlet.handler.AbstractHandlerMethodExceptionResolver.doResolveException(AbstractHandlerMethodExceptionResolver.java:75)\n\tat org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:141)\n\tat org.springframework.web.servlet.handler.HandlerExceptionResolverComposite.resolveException(HandlerExceptionResolverComposite.java:80)\n\tat org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:1321)\n\tat org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1132)\n\tat org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1078)\n\tat org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:961)\n\tat org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)\n\tat org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:626)\n\tat org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:733)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\n\tat org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\n\tat org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\n\tat org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)\n\tat org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)\n\tat org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)\n\tat org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)\n\t... 25 frames truncated\n",
  "mdc":{}
}

Примеры отправляемого события типа INFO в формате json:

{
  "timestamp":"168138259077",
  "levelStr":"INFO",
  "loggerName":"distribution.controller.service.Submitter",
  "threadName":"Thread-4",
  "callerClass":"distribution.controller.service.SubmitterImpl",
  "callerMethod":"run",
  "callerFile":"SubmitterImpl.java",
  "callerLine":74,
  "message":"Submitting distribution 4590 to service 'distribution-database' completed",
  "stackTrace":"",
  "mdc":{}
}

Примеры отправляемого события типа DEBUG в формате json:

{
  "timestamp":1681384669697,
  "levelStr":"DEBUG",
  "loggerName":"org.springframework.web.servlet.DispatcherServlet",
  "threadName":"http-nio-8081-exec-4",
  "callerClass":"org.springframework.web.servlet.FrameworkServlet",
  "callerMethod":"logResult",
  "callerFile":"FrameworkServlet.java",
  "callerLine":1131,
  "message":"Completed 200 OK",
  "mdc":{}}

Описание событий ERROR:

Сообщение

Причина возникновения

error.dictionary.notFound

Не найден справочник

error.dictionaryModel.notFound

Не найдена модель справочника

error.dictionaryVersionContent.notFound

Не найден контент версии справочника

error.dictionaryVersion.notFound

Не найдена версия справочника

error.domain.notFound

Не найден домен

error.input.notFound

Не найдено поступление

error.producer.notFound

Не найден поставщик

error.dictionary.duplicatedId

Дублирующий id справочника

error.dictionaryVersion.badInputStatus

Плохой статус поступления по версии справочника

error.producerId.empty

Пустой ID поставщика

error.producerCode.empty

Пустой код поставщика

error.externalId.empty

Пустое значение

error.operUID.empty

Пустой генерируемый id операции при создании поступления

error.host.empty

Не указан хост

error.inputStatus.empty

Пустой статус поступления

error.subscriptionType.empty

Пустой тип подписки

error.name.empty

Не указан код

error.displayName.empty

Не указано наименование

error.code.empty

Пустое значение у кода версии справочника

error.displayName.maxLength

Превышена допустимая длина в написании имени

error.domain.empty

Не указан домен

error.dictionary.empty

Не указан код справочника

error.dictionaryVersionBeginDate.empty

Не указано дата начала действия версии справочника

error.input.empty

Не указано поступление

error.dictionaryId.empty

Пустое значение id справочника

error.inputId.empty

Пустое значение id поступления

error.dictionaryVersionState.empty

Пустое значение статуса версии справочника

error.messageConversion.failed

Не удалось преобразовать сообщение

error.parameterConversion.failed

Не удалось преобразовать параметр

error.resourceName.empty

Не указан тенант

error.swaggerFile.notFound

Не найден файл swagger

DistributionAlreadyExistsException

Распространение с таким идентификатором уже существует

DistributionNotFoundException

Распространение не найдено

GateAlreadyExistsException

Шлюз с таким идентификатором уже существует

GateNotFoundException

Шлюз не найден

GatePointIdException

Идентификатор первой точки маршрута должен быть равен единице

GatePointParentException

У первой точки маршрута не может быть ссылки на предыдущую точку

GateServiceDuplicateException

Шлюз для такого сервиса уже существует

ParentPointNotFoundException

Для точки маршрута, которая не является первой, не найдена предыдущая точка

ParentPointNullException

Для точки маршрута, которая не является первой, не задана предыдущая точка

ParentPointOrderException

Идентификатор точки маршрута должен быть больше идентификатора предыдущей текущей точки

ParentStageNotFoundException

Не найден предыдущий этап распространения

PointIdDuplicateException

Идентификатор точки маршрута не уникален

PointServiceDuplicateException

Сервис точки маршрута не уникален в рамках одной общей родительской точки

ProcessorAlreadyExistsException

Процессор с таким идентификатором уже существует

ProcessorNotFoundException

Процессор не найден

ProcessorServiceDuplicateException

Процессор для такого сервиса уже существует

ResourceIdDuplicateException

Идентификатор ресурса не уникален

ResourceLoadException

Ошибка загрузки ресурсов

RoadmapAlreadyExistsException

Дорожная карта с таким идентификатором уже существует

RoadmapGateDuplicateException

Дорожная карта для такого шлюза уже существует

RoadmapNotFoundException

Дорожная карта не найдена

StageNotFoundException

Не найден этап распространения

StageStatusIllegalException

Статус этапа распространения не подходит для выполнения этой операции

AttributeEmptyException

Атрибут не может содержать пустое значение

AttributeNotFoundException

Атрибут не найден

AttributeTypeException

Атрибут содержит значение неправильного типа

ConsumerAlreadyExistsException

Потребитель с таким идентификатором уже существует

ConsumerNotFoundException

Потребитель не найден

CurrentStageNotFoundException

Текущий этап распространения не найден

DictionaryAlreadyExistsException

Справочник с таким идентификатором уже существует

DictionaryNotFoundException

Справочник не найден

DistributionNotFoundException

Распространение не найдено

ForbiddenPublicationException

Публикация запрещена

GateStageIdException

Идентификатор первого этапа распространения должен быть равен единице

GateStageParentException

У первого этапа распространения не может быть ссылки на предыдущий этап

InvalidVersionOrderException

Код релиза не может быть меньше кода предыдущего релиза

ParentStageNotFoundException

Не найден предыдущий этап распространения

ParentStageOrderException

Идентификатор этапа распространения не может быть меньше идентификатора предыдущего этапа

ParseException

Ошибка parsing

ProcessorStageParentException

У не первого этапа распространения должна быть ссылка на предыдущий этап

ResourceLoadException

Ошибка загрузки ресурсов

StageIdDuplicateException

Идентификатор этапа распространения не уникален

StageNotFoundException

Этап распространения не найден

StageServiceDuplicateException

Сервис текущего этапа распространения не уникален

SubscriptionAlreadyExistsException

Подписка для выбранного потребителя и справочника уже существует

SubscriptionNotFoundException

Подписка не найдена

UnsupportedUrlException

Неподдерживаемый тип ссылки на данные релиза

Конфигурция логирования хранится в configMap:

  • cm-ddis-fluent-bit-conf: информация для логирования для отправки в компонент LOGA, лог-файлы отправляются с sidecar сервиса DDIS, vault-agent;

  • cm-ddis-fluent-bit-egress-conf: информация для логирования для отправки в компонент LOGA из pod Egress, лог-файлы отправляются от sidecar istio-proxy, ott-sidecar, vault-agent;

  • cm-ddis-fluent-bit-ingress-conf: информация для логирования для отправки в компонент LOGA из pod Egress, лог-файлы отправляются от sidecar istio-proxy, ott-sidecar, vault-agent;

  • cm-ddis-logback-xml: локального логирования сервиса. В данной configMap можно изменить уровень логирования. По умолчанию указан уровень логирования INFO.

  • cm-ddis-istio-ott-logback-xml: локального логирования OTTS. В данной configMap можно изменить уровень логирования. По умолчанию указан уровень логирования INFO.

    <root level="INFO">
      <appender-ref ref="STDOUT"/>
      <appender-ref ref="JSON"/>
    </root>

Просмотр журнала доступен пользователю только в компоненте LOGA с соответствующими правами доступа к компоненту DDIS.

Уровень логирования:

  • не доступен к изменению в интерфейсе пользователя;

  • не задается при установке компонента DDIS;

  • может быть изменен только в ручном режиме Администратором.

Конфигурация логирования:

Параметр

Значение

Назначение

ddis.platform.logm.file.json.filePath

/var/log/ddis

Путь json-файлов с лог-файлами сервиса DDIS для отправки через fluent-bit

ddis.ulogger.sidecar.istio.logging.logrotate_conf_path

/var/log/audit/logrotate.conf

Путь json-файлов с лог-файлами istio pod ingress/egress для отправки через fluent-bit

ddis.ulogger.sidecar.istio.logging.logrotate_status_path

/var/log/audit/logrotate.status

Путь json-файлов с лог-файлами istio pod ingress/egress для отправки через fluent-bit

ddis.ulogger.sidecar.istio.logging.logrotate_olddir_path

/var/log/audit/istio

Путь json-файлов с лог-файлами istio pod ingress/egress для отправки через fluent-bit

ddis.vault.hashicorp.com.log-destination-loge-log-path

var/log/audit/vault

Путь json-файлов с лог-файлами vault-agent для отправки через fluent-bit

ddis.ulogger.cm.data.logback.xml.level

INFO

Уровень логирования сервисов DDIS для отправки через fluent-bit

ddis.vault.hashicorp.com.log-destination-loge-log-level

INFO

Уровень логирования vault-agent в pod сервиса DDIS для отправки через fluent-bit

ddis.vault.hashicorp.com.log-level

INFO

Уровень логирования vault-agent в pod ingress/egress для отправки через fluent-bit

ddis.ulogger.ose.istio.ott.logging.level

INFO

Уровень логирования OTTS в pod ingress/egress для отправки через fluent-bit

ddis.vault.hashicorp.com.log-destination-stdout-log-level

INFO

Уровень логирования vault-agent в pod сервиса DDIS отображение в консоли

ddis.ulogger.config.field.key

timestamp

Ключевое поле времени события для отправки в LOGA. Допустимы 2 значения : timestamp, serverEventDatetime

События мониторинга#

В компоненте DDIS реализован мониторинг событий с использованием компонента MONA.

Формат метрик соответствует требованиям системы Prometheus.

Осуществляется отправка информации по системным метрикам компонента DDIS.

Список системных метрик (для всех модулей компонента DDIS):

Код метрики

Описание

hikaricp_connections

Всего подключений

hikaricp_connections_acquire_seconds_count

Время получения соединения (число)

hikaricp_connections_acquire_seconds_max

Время получения соединения (максимальная длительность)

hikaricp_connections_acquire_seconds_sum

Время получения соединения (общая длительность)

hikaricp_connections_active

Количество активных подключений

hikaricp_connections_creation_seconds_count

Общее время создания подключения

hikaricp_connections_creation_seconds_max

Максимальное время создания подключения

hikaricp_connections_creation_seconds_sum

Среднее время создания подключения

hikaricp_connections_idle

Количество простаивающих подключений

hikaricp_connections_max

Максимальное количество подключений

hikaricp_connections_min

Минимальное количество подключений

hikaricp_connections_pending

Ожидающие соединения

hikaricp_connections_timeout_total

Общее время тайм-аута подключения

hikaricp_connections_usage_seconds_count

Время обработки исходящего сообщения в БД (число)

hikaricp_connections_usage_seconds_max

Время обработки исходящего сообщения в БД (максимальная длительность)

hikaricp_connections_usage_seconds_sum

Время обработки исходящего сообщения в БД (общая длительность)

http_server_requests_seconds_count

Мониторинг входящих HTTP общее число запросов

http_server_requests_seconds_max

Мониторинг входящих HTTP запросов (максимальная длительность)

http_server_requests_seconds_sum

Мониторинг входящих HTTP запросов (общая длительность)

jdbc_connections_active

Текущее количество активных подключений

jdbc_connections_idle

Количество установленных, но неработающих подключений

jdbc_connections_max

Максимальное количество активных подключений, которые могут быть выделены одновременно

jdbc_connections_min

Минимальное количество незанятых подключений в пуле

jvm_buffer_count_buffers

Оценка количества буферов в пуле

jvm_buffer_memory_used_bytes

Оценка памяти, используемой виртуальной машиной Java для этого пула буферов

jvm_buffer_total_capacity_bytes

Оценка общей емкости буферов в этом пуле

jvm_classes_loaded_classes

Количество классов, которые в настоящее время загружены в виртуальную машину Java

jvm_classes_unloaded_classes_total

Общее количество классов, выгруженных с момента запуска виртуальной машины Java

jvm_gc_live_data_size_bytes

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

jvm_gc_max_data_size_bytes

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

jvm_gc_memory_allocated_bytes_total

Увеличение памяти молодого поколения (eden space) в период от одной сборки мусора до следующей

jvm_gc_memory_promoted_bytes_total

Число положительных увеличений пула памяти старого поколения в период перед сборкой мусора и после сборки мусора

jvm_gc_pause_seconds_count

Паузы при сборке мусора (число)

jvm_gc_pause_seconds_max

Паузы при сборке мусора (максимальная длительность)

jvm_gc_pause_seconds_sum

Паузы при сборке мусора (общая длительность)

jvm_memory_committed_bytes

Объем памяти в байтах, выделенный для использования виртуальной машиной Java

jvm_memory_max_bytes

Максимальный объем памяти в байтах, который может использоваться для управления памятью

jvm_memory_used_bytes

Объем используемой памяти

jvm_threads_daemon_threads

Число активных потоков-демонов JVM

jvm_threads_live_threads

Число активных потоков JVM

jvm_threads_peak_threads

Максимальное число потоков JVM с момента старта JVM

jvm_threads_states_threads

Число активных потоков в разрезе статусов

logback_events_total

Количество с ошибками, которые попали в журнал

process_cpu_usage

Утилизация CPU процессом Java

process_files_max_files

Максимальное число файловых дескрипторов

process_files_open_files

Число открытых файловых дескрипторов

process_start_time_seconds

Время запуска приложения

process_uptime_seconds

Время работы приложения

scrape_duration_seconds

Продолжительность очистки секунды

scrape_series_added

Сколько новых серий было создано за период

system_cpu_count

Количество процессоров, доступных виртуальной машине Java

system_cpu_usage

Сумма времен выполнения задач по всем процессорам/ядрам

system_load_average_1m

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

tomcat_sessions_active_current_sessions

Текущее число активных сессий tomcat

tomcat_sessions_active_max_sessions

Максимальное число активных сессий tomcat

tomcat_sessions_alive_max_seconds

Максимальная длительность

tomcat_sessions_created_sessions_total

Число созданных сессий tomcat

tomcat_sessions_expired_sessions_total

Число истекших сессий tomcat

tomcat_sessions_rejected_sessions_total

Число сессий, отклоненных ввиду превышения порога по максимальному числу сессий

remaining_disk_space_percent

Оставшееся свободное место на диске, в процентах

free_disk_space_bytes

Свободное место на диске, в байтах

total_disk_space_bytes

Общее количество байт дискового пространства

used_disk_space_percent

Процент использованного дискового пространства

Метрики для биллинга потребителей продукта Platform V Dictionaries (SDT):

Код метрики

Описание

Модуль

datamart_download_size_byte_total

Объем запрошенных из витрины данных по справочникам

ddis-data-mart

datamart_rn_total_size_byte

Суммарный объем данных в разрезе RN и в разрезе каждого справочника

ddis-data-mart

ddis_distribution-database_publication_speed

Скорость публикации данных по справочникам Публикатора в БД

ddis-publish-db

ddis_outbound_distribution-database_traffic

Объем данных выгрузок Публикатора в БД

ddis-publish-db

Для отслеживания биллинговых метрик в дистрибутив включен шаблон дашборда. Импорт дашборда выполняется как ручным способом, так через импорт DOT (Универсальный загрузчик (импорт дашборда PVM), например, playbook: IMPORT_INDICATOR_PARAMS). Шаблон расположен в /data/indicator/ дистрибутива.

Пример добавления playbook в DOT (environment.json блок "playbooks_import"):

"IMPORT_INDICATOR_PARAMS": {
        "id": 16,
        "description": "Импорт дашборда PVM",
        "dataDir": "indicator",
        "authParams": {
            "openid": {
                "useOfflineOpenIdToken": "true",
                "openidOfflineToken": "openidOfflineInda"
             }
           }
      }
    },

Добавление глобального параметра импорта global.import.service.indicator.url=https:///indicator/api/pvm/org//dashboards/import (подробнее см. в документации к компоненту DOT раздел «Универсальный загрузчик» (PVM))

Метрики HotReload секретов БД:

Метрики мониторинга Витрины (ddis-data-mart):

Код метрики

Название метрики

Тип метрики

DDIS_HOTRELOAD_START_UPDATE_SECRET

Старт обновления секрета

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_SUCCESS

Количество успешных применений секретов

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_ERROR

Количество неуспешных попыток применения секрета

Counter

DDIS_HOTRELOAD_SECRETS_TOTAL_UPDATE_TIME

Общее время применения секрета — от момента обнаружения изменений до окончания реинициализации всех подключений (в миллисекундах)

Gauge

DDIS_DATAMART_STARTED

Витрина стартовала

Gauge

Метрики мониторинга Публикатора в БД (ddis-publish-db):

Код метрики

Название метрики

Тип метрики

DDIS_HOTRELOAD_START_UPDATE_SECRET

Старт обновления секрета

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_SUCCESS

Количество успешных применений секретов

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_ERROR

Количество неуспешных попыток применения секрета

Counter

DDIS_HOTRELOAD_SECRETS_TOTAL_UPDATE_TIME

Общее время применения секрета — от момента обнаружения изменений до окончания реинициализации всех подключений (в миллисекундах)

Gauge

UFS_DDIS_PUBLISHDB_STARTED

Публикатор БД стартовал

Gauge

DDIS_DISABLED_SUBSCRIPTIONS

Количество неактивных подписок

Gauge

Метрики мониторинга Шлюза витрины (ddis-gate-data-mart):

Код метрики

Название метрики

Тип метрики

DDIS_HOTRELOAD_START_UPDATE_SECRET

Старт обновления секрета

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_SUCCESS

Количество успешных применений секретов

Counter

DDIS_HOTRELOAD_APPLY_SECRETS_ERROR

Количество неуспешных попыток применения секрета

Counter

DDIS_HOTRELOAD_SECRETS_TOTAL_UPDATE_TIME

Общее время применения секрета — от момента обнаружения изменений до окончания реинициализации всех подключений (в миллисекундах)

Gauge

UFS_DDIS_GATEDATAMART_STARTED

Шлюз стартовал

Gauge

Часто встречающиеся проблемы и пути их устранения#

Встречается проблема с наличием дискового пространства на сервере БД.

Решение проблемы: необходимо регулярно проводить удаление «потерянных» large objects средствами СУБД PostgreSQL (рекомендуется использование компонента Pangolin (PSQL)), используя утилиту vacuumlo.

Программа vacuumlo представляет собой простую утилиту, которая удаляет все «потерянные» большие объекты из базы данных рекомендуемого к использованию компонента Pangolin (PSQL). Потерянным большим объектом (БО) считается такой БО, OID которого не фигурирует ни в каком столбце oid или large object(lo) в базе данных.

Программа vacuumlo работает следующим образом. Сначала vacuumlo строит временную таблицу, содержащую все OID больших объектов в выбранной базе данных. Затем она сканирует все столбцы в базе данных, имеющие тип oid или lo, и удаляет соответствующие записи из временной таблицы (замечание: рассматриваются только типы именно с такими именами, а не, например, домены на их базе). Оставшиеся записи во временной таблице указывают на потерянные БО, которые затем и удаляются.

Программа vacuumlo входит в состав дистрибутива СУБД PostgreSQL (рекомендуется использование компонента Pangolin (PSQL)).