Перечень параметров системы¶
Настройки лицензии¶
Путь к файлу лицензии / com.unidata.mdm.license.file (поле ввода):
Хранение истории лицензий / com.unidata.mdm.license.history (флаг): включен
Параметры гостевого режима¶
Гостевой режим включен / com.unidata.mdm.ee.guest.mode (флаг): выключен
Пароль / com.unidata.mdm.ee.guest.password (поле ввода): guest
Роль / com.unidata.mdm.ee.guest.role (поле ввода): guest
Имя пользователя / com.unidata.mdm.ee.guest.username (поле ввода): guest
Свойства классификаторов¶
Максимально допустимая длина описания объекта / com.unidata.mdm.classifiers.model.description.length (поле ввода): 255
Максимально допустимая длина отображаемого имени объекта / com.unidata.mdm.classifiers.model.display.name.length (поле ввода): 255
Максимально допустимая длина имени объекта / com.unidata.mdm.classifiers.model.name.length (поле ввода): 255
Размер блока переиндексации классификатора / com.unidata.mdm.classifiers.model.reindex.batch.size (поле ввода): размер блока, которым будут отправляться узлы для переиндексации в OpenSearch. По умолчанию = 1024.
Размер блока загружаемых из БД узлов для переиндексации классификатора / com.unidata.mdm.classifiers.model.reindex.load.size (поле ввода): размер блока, которым будут загружаться узлы из БД. По умолчанию = 65536.
Параметры безопасности приложения¶
Включить возможность ручной пролонгации пользовательской сессии / org.unidata.mdm.core.security.token.manual.prolongation.enabled (флаг):
Если параметр включен, то для продления времени сессии пользователя учитываются следующие действия: click - клик мышью, scroll - прокрутка окна, resize - изменение размера окна, keypress - нажатие символьной клавиши, mousemove - движение курсора. Если параметр выключен, то учитываются только запросы к серверу через Rest API. Если пользователь определенное время не производит ни одно из указанных действий, то от последнего действия отсчитывается таймер org.unidata.mdm.core.security.token.ttl и сессия завершается автоматически.
Время жизни пользовательской сессии (в сек.) / org.unidata.mdm.core.security.token.ttl (поле ввода): 1800. Значение 0 - бесконечность, максимальное конечное - 2147483647 (Integer.MAX_VALUE). В целях безопасности не рекомендуется использовать бесконечное или слишком большое значение.
Системные настройки¶
Язык интерфейса по умолчанию / org.unidata.mdm.system.default.locale (поле ввода):
Диапазон используемых значений соответствует стандарту BCP47.
Режим разработчика / org.unidata.mdm.system.developer.mode (флаг):
Влияет на ранее установленные и успешно запущенные модули системы. Триггер параметра срабатывает при старте системы (сервера). Если флаг включен, то миграции всегда запускаются. Применяет обновления системы.
Формат хранения данных / org.unidata.mdm.system.dump.target.format (поле ввода): PROTOSTUFF
Максимальный размер пула потоков сервиса событий / org.unidata.mdm.system.event.maxPoolSize (поле ввода): 4
Time-out воспроизведения события / org.unidata.mdm.system.event.replay.timeout (поле ввода): 3000. Параметр синхронизации между узлами (нодами) системы. Например, если в ноде1 обновилась модель, она ждет event.replay.timeout
миллисекунд, пока остальные ноды не отреагируют на обновление. Максимальное значение = 9223372036854775807 (Long.MAX_VALUE).
Путь к начальной конфигурации потоков выполнения / org.unidata.mdm.system.initial.pipelines (поле ввода): file:///usr/share/tomcat/conf/universe//enterprise-pipelines.json
Идентификатор узла / org.unidata.mdm.system.node.id (поле ввода): node0
Версия системы / org.unidata.mdm.system.platform.version (поле ввода): 6.11.0-SNAPSHOT
Включить профилировщик / org.unidata.mdm.system.simon.enabled (флаг):
Используется для измерения производительности системы. Рекомендуется включать только для тестов, так как профилировщик забирает часть производительности.
Параметры системных операций модуля core¶
Cron-выражение запуска операции очистки бинарных данных / org.unidata.mdm.core.job.clean.binaries.cronex (поле ввода): 0 0 0/1 * * ?. См. подробнее.
Отключение операции очистки бинарных данных / org.unidata.mdm.core.job.clean.binaries.disabled (флаг):
Если флаг включен, то автоматическая очистка неиспользуемых файлов не будет запускаться. Очищает неиспользуемые (например, не прикрепленные к записям) файлы из таблиц:
org_unidata_mdm_core.binary_data
org_unidata_mdm_core.character_data
Время жизни открепленных бинарных данных (в минутах) / org.unidata.mdm.core.job.clean.binaries.lifetime (поле данных): 10080. Определяет период времени, в течение которого на сервере будут храниться файлы, неприкрепленные ни к одной из записей. Максимальное значение - число минут от -1000000000-01-01T00:00Z до текущего момента.
Почтовые настройки¶
Включить email-уведомления / org.unidata.mdm.core.email.enabled (флаг)
Адрес системы / org.unidata.mdm.core.email.frontend_url (поле ввода): например, http://localhost:8082/. Указывает адрес frontend-приложения системы. Почтовый сервер использует этот адрес, чтобы получать информацию о событиях в системе, на основе которых создается почтовая рассылка.
Пароль / org.unidata.mdm.core.email.password (поле ввода): password
Адрес почтового сервера / org.unidata.mdm.core.email.server_host (поле ввода): localhost
Порт почтового сервера / org.unidata.mdm.core.email.server_port (поле ввода): 5025
Путь к шаблонам уведомлений / org.unidata.mdm.core.email.templates_folder (поле ввода): file:///usr/share/tomcat/conf/universe//templates
Логин / org.unidata.mdm.core.email.username (поле ввода): universe@example.com
Настройки хранения паролей¶
Cron-выражение запуска операции очистки неактивных паролей / org.unidata.mdm.core.job.clean.inactive.passwords.cronex (поле ввода): 0 0 2 1/1 * ? * (значение по умолчанию - запуск в два часа ночи каждый день). См. подробнее.
Срок действия пароля администратора (в днях) / org.unidata.mdm.core.password.policy.admin.expiration.days (поле ввода): 91. Влияет на учетные записи с флагом "Суперпользователь".
Разрешение смены пароля / org.unidata.mdm.core.password.policy.allow.password.change (флаг): да / нет. Если включен, то становится доступным механизм изменения паролей. Если параметр отключается, то у пользователей должны быть токены авторизации, иначе вход будет невозможен
Проверка попыток аутентификации по IP-адресу клиента включена / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.client.ip.enabled (флаг): да / нет. По умолчанию выключен
Лимит ошибок аутентификации по IP-адресу клиента / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.client.ip.limit (поле ввода): 5
Время ожидания после превышения лимита ошибок аутентификации по IP-адресу клиента, секунды / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.client.ip.timeout (поле ввода): 30
Время хранения в кэше записей об ошибках аутентификации по IP-адресу, минуты / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.client.ip.ttl (поле ввода): 30
Проверка аутентификации по имени пользователя включена / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.username.enabled (флаг): по умолчанию - выключен
Лимит ошибок аутентификации по имени пользователя / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.username.limit (поле ввода): 5
Время ожидания после превышения лимита ошибок аутентификации по имени пользователя, секунды / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.username.timeout (поле ввода): 30
Время хранения в кэше записей об ошибках аутентификации по имени пользователя, минуты / org.unidata.mdm.core.password.policy.check.failed.authentication.count.by.username.ttl (поле ввода): 30
Размер истории паролей при проверке нового пароля / org.unidata.mdm.core.password.policy.check.repetitions.count (поле ввода): 0
Время жизни записей неактивных паролей, дни (0 - не удалять записи) / org.unidata.mdm.core.password.policy.inactive.password.record.ttl (поле ввода): 60
Минимальная длина пароля / org.unidata.mdm.core.password.policy.min.length (поле ввода): 0
Допустимый формат пароля (регулярное выражение) / org.unidata.mdm.core.password.policy.regexp (поле ввода). Проверить регулярные выражения можно с помощью онлайн-инструмента https://regex101.com/ (необходимо выбрать Java 8).
Пример формата пароля / org.unidata.mdm.core.password.policy.regexp.example (поле ввода):
Срок действия пароля (в днях) / org.unidata.mdm.core.password.policy.user.expiration.days (поле ввода): 181
Максимальное количество сеансов пользователя / org.unidata.mdm.core.security.user.session.limit (поле ввода): 10000. Значение можно конфигурировать через переменную окружения CORE_SECURITY_SESSION_LIMIT
. Если при попытке авторизации количество сеансов пользователя достигло лимита, то на экране отобразится ошибка о превышении лимита параллельных сеансов.
Настройки загрузки файлов¶
Максимальное количество файлов / org.unidata.mdm.core.file.max.count (поле ввода): по умолчанию = 10. Количество файлов, которые можно прикрепить к одному атрибуту записи. Максимальное количество файлов, как и другие параметры, определяющие загрузку файлов в систему, определяется только характеристиками сервера системы и задачами пользователя. Важно сбалансировать количество файлов и их размер, а также количество записей, в которых используются прикрепленные файлы. Например, может быть 1000 записей, к каждой из которых прикреплено 20 файлов по 10Кб; либо 100 записей, к каждой из которых прикреплено 1 файл по 100Мб. Излишняя нагрузка на сервер может привести к проблемам производительности.
Временная директория для загрузок / org.unidata.mdm.core.upload.attachment.directory (поле ввода)
Максимальный размер файла для загрузок (в байтах) / org.unidata.mdm.core.upload.attachment.max.size (поле ввода): по умолчанию = 5242880
Максимальный объем памяти для загрузок (в байтах) / org.unidata.mdm.core.upload.attachment.memory.threshold (поле ввода)
Служебные задачи модуля черновиков¶
CRON выражение для задачи 'Удалить неиспользуемые черновики' / org.unidata.mdm.draft.job.clean.drafts.cronex (поле ввода): 0 0 0/1 * * ?
Задача 'Удалить неиспользуемые черновики' отключена, если true / org.unidata.mdm.draft.job.clean.drafts.disabled (флаг): да / нет
Время жизни неиспользуемого черновика, до того, как его соберет задача 'Удалить неиспользуемые черновики' (в минутах) / org.unidata.mdm.draft.job.clean.drafts.lifetime (поле ввода): 10080. Определяет период времени, в течение которого на сервере будут храниться неиспользуемые черновики. Максимальное значение - число минут от -1000000000-01-01T00:00Z до текущего момента.
Настройки хранилища данных¶
Узлы хранения / org.unidata.mdm.data.nodes (поле ввода): 0:node0:postgres@postgres:postgres@postgres-mdm:5432
Шарды хранения / org.unidata.mdm.data.shards (поле ввода): 32
Индексы¶
Количество реплик по умолчанию / org.unidata.mdm.core.indexing.replicas.number (поле ввода): 0
Количество шард по умолчанию / org.unidata.mdm.core.indexing.shards.number (поле ввода): 1
Настройки индексирования данных¶
Формат атрибута типа 'Дата' / org.unidata.mdm.data.index.date.display.format (поле ввода): yyyy-MM-dd
Прямая связь / org.unidata.mdm.data.index.relations.straight (флаг):
Формат атрибута типа 'Время' / org.unidata.mdm.data.index.time.display.format (поле ввода): HH:mm:ss
Формат атрибута типа 'Дата/Время' / org.unidata.mdm.data.index.timestamp.display.format (поле ввода): yyyy-MM-dd'T'HH:mm:ss
Настройки индексирования модели данных¶
Примечание
Параметры являются разметкой для будущей функциональности. В настоящее время эти значения не учитываются и могут быть любыми.
Репликация реестров / org.unidata.mdm.data.indexing.entity.replicas (поле ввода): 0
Шардирование реестров / org.unidata.mdm.data.indexing.entity.shards (поле ввода): 1
Репликация справочников / org.unidata.mdm.data.indexing.lookup.replicas (поле ввода): 0
Шардирование справочников / org.unidata.mdm.data.indexing.lookup.shards (поле ввода): 1
Метод обновления поискового статуса записей (FALSE - не обновлять сразу, WAIT_FOR - ожидать обновления в запросах, TRUE - обновлять сразу) / org.unidata.mdm.data.indexing.refresh (поле ввода): WAIT_FOR
Метод обновления поискового статуса записей при публикации черновиков (FALSE - не обновлять сразу, WAIT_FOR - ожидать обновления в запросах, TRUE - обновлять сразу) / org.unidata.mdm.data.indexing.refresh.draft.publish (поле ввода): WAIT_FOR
Метод обновления поискового статуса черновиков записей (FALSE - не обновлять сразу, WAIT_FOR - ожидать обновления в запросах, TRUE - обновлять сразу) / org.unidata.mdm.data.indexing.refresh.draft.upsert (поле ввода): WAIT_FOR
Интервал обновления поискового статуса записей (в миллисекундах) / org.unidata.mdm.data.indexing.refresh.interval (поле ввода): 1000
Настройки кэширования¶
Секция параметров отвечает за настройки кластерной конфигурации системы. Настройка кластеров должна выполняться специалистом.
Автоопределение стратегии обнаружения / org.unidata.mdm.system.cache.auto-detection.enabled (флаг): да / нет
Если включен, то производится автоматический поиск среды выполнения кэширования. Это могут быть AWS, Azure, GCP или Kubernetes
Автопоиск нод кластера включен / org.unidata.mdm.system.cache.multicast.enabled (флаг): да / нет
С помощью автоматического обнаружения многоадресной рассылки Hazelcast позволяет членам кластера находить друг друга с помощью многоадресной связи. Членам кластера не нужно знать конкретные адреса других участников, поскольку они просто передают многоадресную рассылку всем остальным участникам для прослушивания. Возможна или разрешена многоадресная рассылка, зависит от вашей среды
Маска подсети для отправки мультикаст-запросов / org.unidata.mdm.system.cache.multicast.group (поле ввода): 224.2.2.3
Порт, куда будут отправляться мультикаст-запросы / org.unidata.mdm.system.cache.multicast.port (поле ввода): 54327
Таймаут отправки сообщений / org.unidata.mdm.system.cache.multicast.timeout (поле ввода): 2
Время жизни мультикаст-запросов / org.unidata.mdm.system.cache.multicast.ttl (поле ввода): 32
Порт / org.unidata.mdm.system.cache.port (поле ввода): 5701
Автоинкремент порта кэша системы / org.unidata.mdm.system.cache.port.autoincrement (флаг): да / нет
Включение автоматического поиска свободного порта
Поиск нод по заданному списку включен / org.unidata.mdm.system.cache.tcp-ip.enabled (флаг): да / нет
Поиск узлов для кластера. Связь между узлами осуществляется через TCP/IP
IP-адреса нод кластера / org.unidata.mdm.system.cache.tcp-ip.members (поле ввода): 127.0.0.1
Конфигурация стандартных операций¶
Минимальное количество потоков / org.unidata.mdm.core.job.pool.min.size (поле ввода): 4
Максимальное количество потоков / org.unidata.mdm.core.job.pool.max.size (поле ввода): 24
Значение максимального количества потоков зависит от нескольких факторов: от сложности самих операций, от объема данных в системе, и от количества ядер процессора на сервере. Как правило, задается значение в 2 раза больше, чем ядер процессора. Рекомендуется настраивать количество экспериментальным путем, опираясь на данные в системе. Параметр определяет количество потоков Java, которое выделяется на все операции сразу.
Размер очереди / org.unidata.mdm.core.job.queue.size (поле ввода): 100
Объем очереди потоков. Очередь выстраивает порядок запуска операций, т.к. одновременно все операции обработать невозможно. Размер очереди зависит от характеристик сервера и его работоспособности, размер устанавливается экспериментальным путем.
Настройки аудита системы¶
Примечание
Параметры являются разметкой для будущей функциональности. В настоящее время эти значения не учитываются и могут быть любыми.
Включить аудит / org.unidata.mdm.core.audit.enabled (флаг)
Хранилище журнала аудита / org.unidata.mdm.core.audit.enabled.storages (поле ввода): os
Сообщать о событиях чтения? / org.unidata.mdm.core.audit.read.events (флаг)
Глубина стектрейса в сообщениях об ошибках / org.unidata.mdm.core.audit.stacktrace.depth (поле ввода): 32
Размер пула потоков диспетчера аудита / org.unidata.mdm.core.audit.writer.pool.size (поле ввода): 4
Фоновая операция очистки данных журнала аудита системы¶
Время жизни записей логов в базе данных / com.universe.mdm.core.audit.ttl.db (поле ввода): значение по умолчанию не ограничено. Формат значения: число + m | h | d | M | y (minutes | hours | days | months | years соответственно).
Расписание старта операции очистки логов в базе данных / com.universe.mdm.core.audit.ttl.db.job.cron (поле ввода): Cron-выражение для старта операции, запуск по умолчанию раз в сутки в 1:00 ночи
Время жизни записей аудита в индексе / com.universe.mdm.core.audit.ttl.index (поле ввода): значение по умолчанию не ограничено. Формат значения: число + m | h | d | M | y (minutes | hours | days | months | years соответственно).
Расписание старта операции очистки логов в индексе / com.universe.mdm.core.audit.ttl.index.job.cron (поле ввода): Cron-выражение для старта операции, запуск по умолчанию раз в сутки в 1:00 ночи
Исполнение асинхронных задач¶
Размер пула потоков / org.unidata.mdm.core.async.task.executor.pool.size (поле ввода): 4
Применяется для регуляции асинхронных (отложенных) действий. Например: выгрузка в эксель, пакетные операции с записями, кастомные операции. Всегда должен быть пул задач, поэтому не рекомендуется ставить 1 (в таком случае очереди не будет, и задачи будут выдавать ошибку).
Настройки подсистемы сообщений¶
Маршруты сообщений модуля Commercial Core / org.unidata.mdm.system.messaging.domains.commercial-core-messaging (поле ввода):
В модуле фиксируются события создания/изменения/удаления замещений пользователей и групп пользователей.
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<route id="commercial-core">
<from uri="direct:commercial-core-messaging"/>
<to uri="vm:commercial-core"/>
</route>
<route id="commercial_core_vm">
<from uri="vm:commercial-core"/>
<to uri="direct:audit"/>
</route>
</routes>
Маршруты сообщений модуля Core / org.unidata.mdm.system.messaging.domains.core-messaging (поле ввода):
В модуле фиксируются события входа/выхода из системы; блокировки аутентификации; сброса и обновления пароля; экспорта журнала аудита; активации/деактивации пользователя; обновления ролей у пользователя; а также создания/изменения/удаления ролей, учетных записей пользователей, меток безопасности и операций; запуска/остановки и активации/деактивации операций; обновления runtime-параметров.
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
<route id="core"> <from uri="direct:core-messaging"/> <to uri="vm:core"/> </route> <route id="core_vm"> <from uri="vm:core"/> <choice> <when> <header>type</header> <toD uri="direct:${header.type}"/> </when> <otherwise> <to uri="direct:withoutType"/> </otherwise> </choice> </route> <route id="login"> <from uri="direct:login"/> <to uri="direct:audit"/> </route> <route id="logout"> <from uri="direct:logout"/> <to uri="direct:audit"/> </route> <route id="audit_xlsx_export"> <from uri="direct:audit_xlsx_export"/> <to uri="direct:audit"/> </route> <route id="role_create"> <from uri="direct:role_create"/> <to uri="direct:audit"/> </route> <route id="role_delete"> <from uri="direct:role_delete"/> <to uri="direct:audit"/> </route> <route id="role_update"> <from uri="direct:role_update"/> <to uri="direct:audit"/> </route> <route id="role_label_attach"> <from uri="direct:role_label_attach"/> <to uri="direct:audit"/> </route> <route id="label_create"> <from uri="direct:label_create"/> <to uri="direct:audit"/> </route> <route id="label_update"> <from uri="direct:label_update"/> <to uri="direct:audit"/> </route> <route id="label_delete"> <from uri="direct:label_delete"/> <to uri="direct:audit"/> </route> <route id="password_reset"> <from uri="direct:password_reset"/> <to uri="direct:email.password_reset"/> </route> <route id="audit"> <from uri="direct:audit"/> <bean beanType="org.unidata.mdm.core.service.impl.CoreAuditEventContextBuilder" method="build"/> <aggregate strategyRef="groupedBodyAggregationStrategy" completionInterval="60000" completionSize="1000"> <correlationExpression> <constant>true</constant> </correlationExpression> <multicast> <to uri="bean:indexAuditStorageService?method=write"/> <to uri="bean:databaseAuditStorageService?method=write"/> </multicast> </aggregate> </route> <route id="email.password_reset"> <from uri="direct:email.password_reset"/> <setHeader name="CamelVelocityResourceUri"> <simple>${header.email_args.get(templates_folder)}/email_password_reset.vm</simple> </setHeader> <setHeader name="Subject"> <constant>Unidata notification: Password reset</constant> </setHeader> <setHeader name="Content-Type"> <simple>text/html</simple> </setHeader> <setHeader name="temp_password"> <simple>${header.email_args.get(temp_password)}</simple> </setHeader> <setHeader name="password_reset_link"> <simple>${header.email_args.get(password_reset_link)}</simple> </setHeader> <to uri="velocity:email_password_reset.vm"/> <to uri="direct:email.send"/> </route> <route id="email.send"> <from uri="direct:email.send"/> <setHeader name="from"> <constant>{{org.unidata.mdm.core.email.username}}</constant> </setHeader> <setHeader name="to"> <simple>${header.email_args.get(email)}</simple> </setHeader> <to uri="smtps://{{org.unidata.mdm.core.email.server_host}}:{{org.unidata.mdm.core.email.server_port}}?username={{org.unidata.mdm.core.email.username}}&password={{org.unidata.mdm.core.email.password}}"/> </route> </routes>
Маршруты сообщений модуля Data / org.unidata.mdm.system.messaging.domains.data-messaging (поле ввода):
В модуле фиксируются события создания/изменения/удаления/восстановления записей активов.
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <route id="data"> <from uri="direct:data-messaging"/> <to uri="vm:data"/> </route> <route id="data_vm"> <from uri="vm:data"/> <to uri="direct:audit"/> </route> </routes>
Маршруты сообщений модуля Meta / org.unidata.mdm.system.messaging.domains.meta-messaging (поле ввода):
В модуле фиксируются события создания/изменения/удаления черновиков, источников данных, краулеров и их экземпляров, а также подключений краулеров.
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <route id="meta"> <from uri="direct:meta-messaging"/> <to uri="vm:meta"/> </route> <route id="meta_vm"> <from uri="vm:meta"/> <to uri="direct:audit"/> </route> </routes>
Настройка маршрутизации импорта данных / org.unidata.mdm.system.messaging.domains.smart-etl-data-recipient-messaging (поле ввода):
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<route id="smart_etl_mdm_recipient_kafka">
<from uri="direct:recipientQueueConnection"/>
<process ref="dataRecordMessageConverter"/>
<aggregate strategyRef="dataRecordMessageAggregation"
completionSize="500"
completionTimeout="1000">
<correlationExpression>
<constant>true</constant>
</correlationExpression>
<threads maxPoolSize="16"/>
<process ref="dataRecordMessageProcessor"/>
<split>
<simple>${body.records}</simple>
<process ref="toJsonMessageConverter"/>
<split>
<simple>${body.records}</simple>
<process ref="toJsonMessageConverter"/>
<to uri="log:foo"/>
</split>
</split>
</aggregate>
</route>
</routes>
Маршруты сообщений нотификации ETL / org.unidata.mdm.system.messaging.domains.smart_etl_notification (поле ввода):
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<route id="smart_etl_notification">
<from uri="direct:smart_etl_notification"/>
<to uri="vm:smart_etl_notification_wm"/>
</route>
<route id="smart_etl_notification_wm">
<from uri="vm:smart_etl_notification_wm"/>
<setHeader name="CamelHttpMethod">
<constant>POST</constant>
</setHeader>
<setHeader name="Content-Type">
<constant>application/json</constant>
</setHeader>
<to uri="http://{{com.unidata.smartetl.mdm.notifications.messaging.endpoint}}"/>
</route> </routes>
Маршруты сообщений модуля Workflow / org.unidata.mdm.system.messaging.domains.workflow-messaging (поле ввода):
В модуле фиксируются события старта/завершения бизнес-процессов, создания/назначения/выполнения задач, добавления/редактирования/удаления вложений задач, изменения модели бизнес-процессов и нотификации по e-mail.
<routes xmlns="http://camel.apache.org/schema/spring"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> <route id="workflow"> <from uri="direct:workflow-messaging"/> <to uri="vm:workflow"/> </route> <route id="workflow_vm"> <from uri="vm:workflow"/> <choice> <when> <simple>${header.type} == 'start-workflow'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.StartWorkflowAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'complete-task'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.CompleteTaskAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'assign-task'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.AssignTaskAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'add-comment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.UpsertCommentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'edit-comment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.UpsertCommentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'delete-comment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.DeleteCommentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'add-attachment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.UpsertAttachmentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'edit-attachment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.UpsertAttachmentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'delete-attachment'</simple> <bean beanType="com.unidata.mdm.workflow.core.service.impl.audit.DeleteAttachmentAuditEventBuilder" method="build"/> </when> <when> <simple>${header.type} == 'email-notification'</simple> <to uri="direct:email-notification"/> </when> </choice> <to uri="direct:audit"/> </route> <route id="email-notification"> <from uri="direct:email-notification"/> <to uri="direct:email.email-notification"/> </route> <route id="email.email-notification"> <from uri="direct:email.email-notification"/> <setHeader name="CamelVelocityResourceUri"> <simple>${header.email_args.get(templates_folder)}/mail_workflow_notification.vm</simple> </setHeader> <setHeader name="Subject"> <simple>${header.email_args.get(subject)}</simple> </setHeader> <setHeader name="Content-Type"> <simple>text/html; charset="UTF-8"</simple> </setHeader> <setHeader name="task_id"> <simple>${header.email_args.get(task_id)}</simple> </setHeader> <setHeader name="result"> <simple>${header.email_args.get(result)}</simple> </setHeader> <setHeader name="comment"> <simple>${header.email_args.get(comment)}</simple> </setHeader> <setHeader name="task_link"> <simple>${header.email_args.get(task_link)}</simple> </setHeader> <to uri="velocity:mail_workflow_notification.vm?encoding=UTF-8"/> <to uri="direct:email.send"/> </route> </routes>
Включить трассировку / org.unidata.mdm.system.messaging.trace.enabled (флаг):
Настройки поиска¶
Время ожидания ответа от сервера для запросов управления (в миллисекундах). Значения <= 0 подразумевают "ждать бесконечно" / org.unidata.mdm.search.admin.action.timeout (поле ввода): 5000
Логин суперпользователя, используется продуктами Юниверс для доступа к узлам поисковой системы / org.unidata.mdm.search.admin.login: admin
Пароль суперпользователя / org.unidata.mdm.search.admin.password: admin
Лимит буфера поискового сервиса в мегабайтах (для применения требуется перезапуск) / org.unidata.mdm.search.buffer.limit (поле ввода): 100. Отвечает за лимит размера буфера запросов (по умолчанию = 100).
Имя кластера / org.unidata.mdm.search.cluster.name (поле ввода): docker-cluster
Узлы кластера / org.unidata.mdm.search.cluster.nodes (поле ввода): opensearch-mdm:9200
Лимит полей поиска / org.unidata.mdm.search.fields.limit (поле ввода): 10000
Объем маппинга для поиска в Opensearch. Определяет, насколько много атрибутов и других полей может быть в реестре при поиске.
Лимит результатов поиска / org.unidata.mdm.search.hits.limit (поле ввода): 200000
Количество выдаваемых результатов поиска.
Префикс для имен поисковых индексов / org.unidata.mdm.search.index.prefix (поле ввода): default
Пароль к keystore / org.unidata.mdm.search.keystore.password: password
Путь к keystore формата JKS, хранящему .p12 сертификат открытого и закрытого ключа продуктов Юниверс для установки защищенного соединения / org.unidata.mdm.search.keystore.path: path
Максимальное количество запросов в балк запросе / org.unidata.mdm.search.max.bulk.size (поле ввода): 8192
Максимум HTTP-соединений к каждому узлу кластера поиска / org.unidata.mdm.search.max.http.connections.per.node (поле ввода): 50. Параметр определяет максимальное количество одновременных подключений.
Общий максимум HTTP-соединений к узлам кластера поиска / org.unidata.mdm.search.max.http.connections.per.total (поле ввода): 200. Параметр определяет максимальное количество одновременных подключений.
Максимальное количество условий в запросе в поисковую систему / org.unidata.mdm.search.query.bool.max_clause_count (поле ввода): 1024
Незамедлительно обновлять состояние записи в поисковой системе / org.unidata.mdm.search.refresh.immediate (флаг):
Если флаг включен, то все изменения записей моментально отображаются. Если флаг выключен, то изменения отображаются после следующей переиндексации Opensearch. Функция влияет на производительность.
Количество реплик по умолчанию для справочников / org.unidata.mdm.search.replicas.number (поле ввода): 0
Включены меры безопасности поисковой системы (аутентификация, шифрование) / org.unidata.mdm.search.security.enabled (флаг):
Количество шард по умолчанию / org.unidata.mdm.search.shards.number (поле ввода): 1
Время таймаута соединения (в миллисекундах). Значения < 0 подразумевают "использовать стандартное системное", значение = 0 подразумевает "ждать бесконечно" (для применения требуется перезапуск) / org.unidata.mdm.search.socket.timeout.milliseconds (поле ввода): 30000
Пароль к truststore / org.unidata.mdm.search.truststore.password: password
Путь к truststore формата JKS, хранящему сертификаты открытого ключа узлов поисковой системы, верифицируемые продуктами Юниверс / org.unidata.mdm.search.truststore.path: path
Операция выгрузки аудита¶
Заголовок файла выгрузки по умолчанию / com.universe.mdm.core.audit.export.job.result.header:
Содержит настройки для генерации заголовка .xlsx-файла с аудитом.
Настройки нечеткого поиска¶
Max отличий символов для поиска по сходству / org.unidata.mdm.search.fuzziness (поле ввода): 1
Параметр ищет совпадения с учетом указанного количества возможных ошибок в части запроса, оставшейся после org.unidata.mdm.search.fuzziness.prefix.length. Чем число выше, тем это больше замедляет работу поиска.
Min совпадений символов в начале запроса / org.unidata.mdm.search.fuzziness.prefix.length (поле ввода): 4
Количество символов в начале запроса, после которого начинается часть нечеткого поиска. Например, если указано 4, то первые 4 символа в слове будут найдены по точному совпадению, среди оставшихся символов слова будет производиться нечеткий поиск. Если org.unidata.mdm.search.fuzziness было указано как 1, то в оставшейся части допустима 1 ошибка.
Совпадения по маске / org.unidata.mdm.search.fuzziness.with.wildcard (флаг):
Не рекомендуется использовать. Если включено, то в поиске записей может применяться поиск по шаблонам (маске).
Настройки скоринга при поиске¶
Вычисление score / org.unidata.mdm.search.calculate.score (флаг):
Используется для поиска наиболее релевантных результатов, а также для сортировки результатов поиска. Не рекомендуется отключать, так как не будет работать сортировка записей в таблицах результатов.
Min записей для повышения релевантности выдачи / org.unidata.mdm.search.default.min.score (поле ввода): 0.0
Отсеивание в результатах поиска записей, которые ниже указанной релевантности. В релизе 6.11 не применяется.
Настройки сопоставления данных¶
Real-time сопоставление данных / org.unidata.mdm.matching.data.real.time.matching.enabled (флаг):
Если параметр включен, то запись при создании/изменении сопоставляется с существующими записями. При обнаружении дубикатов создается кластер дублирующихся записей. Если параметр выключен, то при создании/изменении записи сопоставления не будет. Чтобы сопоставить все записи между собой используйте операцию matchingJob.
Настройки периодов актуальности¶
Режим периода актуальности / org.unidata.mdm.data.validity.period.mode (поле ввода): DATE. Параметр определяет глобальный режим гранулярности для периодов актуальности, если он не задан напрямую для конкретного реестра/справочника. Возможные значения: DATE - показывается только дата, DATETIME - дата и время, DATETIMEMILLIS - дата, время и миллисекунды (в интерфейсе пользователя не отображается).
Конец периода актуальности / org.unidata.mdm.data.validity.period.end (поле ввода): 2500-12-31T23:59:59.999Z
Начало периода актуальности / org.unidata.mdm.data.validity.period.start (поле ввода): 1900-01-01T00:00:00Z
Предупреждение
Параметры ...start и ...end должны иметь одинаковый формат даты, иначе система не запустится
В Юниверс MDM 6.x принимаются периоды актуальности в форматах:
yyyy-MM-dd'T'HH:mm:ss.SSS
yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
yyyy-MM-dd'T'HH:mm:ss.SSS+00:00
Настройки применения правил качества при публикации¶
Фаза проверки данных для запуска при публикации / com.universe.mdm.dqw.quality.publishing.phase (поле ввода): системное имя фазы выполнения - по умолчанию DRAFT. Фаза запускает правила качества при публикации черновика записи. Если фаза не определена, то проверки не запускаются.
Применение правил качества перед закрытием процесса согласования¶
Фаза проверки данных перед закрытием процесса согласования / com.universe.mdm.dqw.quality.workflow.phase (поле ввода): системное имя фазы выполнения - по умолчанию PROCESS. Фаза запускает правила качества перед закрытием процесса согласования. Если фаза не определена, то проверки не запускаются.
Настройки применения правил качества при прямой вставке¶
Фаза для проверок при прямой вставке / org.unidata.mdm.dq.data.quality.upsert.phase (поле ввода): системное имя фазы выполнения - по умолчанию DEFAULT. Фаза запускает правила качества при загрузке данных в систему с помощью пакетных операций или внешних систем. Если фаза не определена, то проверки не запускаются.
Подробнее о фазах выполнения и их настройке см. в статье.
Предупреждение
В версии 6.10.2 реализована работа правил качества для атрибутов связи и классификатора.
Настройки системного источника данных¶
Имя системного источника данных / org.unidata.mdm.meta.admin.source.system.name (поле ввода): по умолчанию - universe.
Свойства классификаторов¶
Максимально допустимая длина описания объекта / com.unidata.mdm.classifiers.model.description.length (поле ввода): по умолчанию - 255
Максимально допустимая длина отображаемого имени объекта / com.unidata.mdm.classifiers.model.display.name.length (поле ввода): по умолчанию - 255
Максимально допустимая длина имени объекта / com.unidata.mdm.classifiers.model.name.length (поле ввода): по умолчанию - 255
Размер блока переидексации классификатора / com.unidata.mdm.classifiers.model.reindex.batch.size (поле ввода): по умолчанию - 1024
Размер блока загружаемых из БД узлов для переидексации классификатора / com.unidata.mdm.classifiers.model.reindex.load.size (поле ввода): по умолчанию - 65536
Настройки экспорта XLSX¶
Максимальное количество экспортируемых записей / com.unidata.mdm.bulk.export.records.max.count (поле ввода) : по умолчанию - 50000. Параметр ограничивает количество записей под выгрузку для настройки под выделенные мощности. В случае попытки экспорта большего кол-ва записей - отображается ошибка. Параметр должен подбираться опытным путем исходя из настроек мощностей стенда, а также в зависимости от размера и наполненности реестров/справочников.
Настройки бизнес-процессов¶
Включить job executor в Camunda / com.unidata.mdm.workflow.core.job.executor.activate (флаг). При запуске через Docker передать настройку можно через переменную WORKFLOW_JOB_EXECUTOR_ACTIVATE
.
Максимальное время ожидания job executor в Camunda (в миллисекундах) / com.unidata.mdm.workflow.core.job.executor.maxWait (поле ввода): по умолчанию = 60000. Позволяет настроить таймер бизнес-процесса. При запуске через Docker передать настройку можно через переменную среды WORKFLOW_JOB_EXECUTOR_MAX_WAIT
.
Импорт данных из очередей¶
Включить загрузку объекта результата / com.universe.mdm.data.recipient.recipient.resolveResult (флаг). Если параметр включен, то в ответе на импорт данных из очереди сообщений будет отправляться вставленная запись.
ETL. Реестр обработки записей¶
Тип файлового хранилища / com.unidata.smartetl.dpr.fileStorage.storageType (поле ввода): local
Тип хранилища процессов и истории / com.unidata.smartetl.dpr.process.storageType (поле ввода): default
Настройка ETL. нотификаций¶
Адрес получателя / com.universe.mdm.notifications.messaging.endpoint (поле ввода):
Отправлять список изменений при обновлении / com.universe.mdm.notifications.notifications.changes (флаг):
Загружать запись события / com.universe.mdm.notifications.notifications.fetchResult (флаг):
Отправлять нотификацию сохранения черновика / com.universe.mdm.notifications.notifications.sendDraftEvent (флаг):
Версия сегмента нотификации вставки записи / com.universe.mdm.notifications.notifications.upsert.version (поле ввода): по умолчанию = 2. Значение не может быть пустым и должно содержаться в списке версий сегмента SmartEtlSendUpsertNotification.VERSIONS (значения: 1 - старая версия и 2 - новая версия).
Отправлять атрибуты типа "Ссылка на справочник" с ключами записи справочника / com.universe.mdm.notifications.notifications.fetchLookupLinkAttributesLookupKeys (флаг): устанавливает, заполнять ли поле lookupLinkAttributes в уведомлении. По умолчанию выключен.
Отправлять объекты незаполненных атрибутов типа "Ссылка на справочник" как null / com.universe.mdm.notifications.notifications.showAbsentLookupLinkAttributes (флаг): устанавливает, вносить ли в lookupLinkAttributes отсутствующие атрибуты как null (в ChangeDiffResult не вносится). По умолчанию выключен.
Отправлять ключи записей справочников, на которые ссылается запись / com.universe.mdm.notifications.notifications.fetchRecordKeys (флаг): устанавливает, заполнять ли в атрибутах поля lookupLinkAttributes поля recordKeys. По умолчанию выключен.
Настройки модуля правил сопоставления¶
Количество кластеров в пакете, удаляемых за раз при редактировании назначений в модели сопоставления / org.unidata.mdm.matching.core.remove.cluster.record.from.index.bulk.size (поле ввода): 10000