Установка#

Установка компонентов технологического ядра Platform V#

Установите компоненты, указанные в разделе «Компоненты технологического ядра Platform V».

Настройка серверов Kafka#

Для своей работы Archiving использует три Kafka:

  • для обмена данных с КАП;

  • для обмена данными с источниками данных в 4 поколении (стек k8s или OpenShift (опционально));

  • для обмена данными с АС Прикладной журнал.

Подключение к каждой Kafka осуществляется через SSL. Для каждой Kafka необходимы собственные сертификаты.

Шифрование трафика осуществляется средствами Kafka.

Настройка интеграционной Kafka#

Интеграционная Kafka Archiving отвечает за обмен данными с КАП. Другие сервисы к ней не подключаются. Исходя из требований безопасности подключение к ней должно осуществляться через SSL. При подключении необходимо выпустить сертификаты, которые дают право:

  • чтения;

  • записи данных;

  • создания топиков.

Генерация сертификата#

При генерации сертификата необходимо указать уникальный пароль, удовлетворяющий требованиям безопасности к его составу. В <CN> вставьте заполненный шаблон:

00CA0000CKafkaPPRBARCH4@kbrb.prom.arch-journal.sbrf.ru

Команда для сертификата:

keytool -genkey -alias serverNode -keystore serverNode.jks -keyalg RSA -keysize 2048 -dname "CN=<CN>, OU=00CA, O=Savings Bank of the Russian Federation, C=RU"

Создание запроса на подпись сертификата#

Запрос на подпись сертификата:

keytool -keystore serverNode.jks -alias serverNode -certreq -file serverNode-certreq.csr

Подпись сертификата#

Для подписи сертификата необходимо сформировать запрос в RLM. Процесс создания запроса может отличаться в зависимости от полигона установки. Подробно процесс формирования запроса описан в документации поддержки сервиса WildFly.

Импорт сертификатов удостоверяющего центра#

Импортируйте в JKS-хранилище сертификаты удостоверяющего центра (УЦ), которым подписаны сертификаты на предыдущем шаге. Это обязательно для последующего импорта подписанного сертификата, так как keytool проверяет корректность всей цепочки сертификации при импорте.

keytool -keystore serverNode.jks -alias "Test Root CA 2" -import -file "Test Root CA 2.cer"
keytool -keystore serverNode.jks -alias "Sberbank Test Issuing CA 2" -import -file "Sberbank Test Issuing CA 2.cer"

Импорт подписанного сертификата#

  1. Импортируйте подписанный сертификат в JKS-хранилище:

    keytool -keystore serverNode.jks -alias serverNode -import -file <путь к подписанному сертификату>
    

    Проверка корректности созданных сертификатов:

    keytool -v --list --keystore serverNode.jks | awk '/Owner:|Issuer:|Your keystore contains|Certificate chain length/'
    

    Пример вывода:

    Your keystore contains 3 entry
    Certificate chain length: 3
    Owner: CN=000CA0000CKafkaPPRBARCH4@kbrb.prom.arch-journal.sbrf.ru, OU=00CA, O=Savings Bank of the Russian Federation, C=RU
    Issuer: CN=Sberbank Test Issuing CA 2, DC=ca, DC=sbrf, DC=ru
    Owner: CN=Sberbank Test Issuing CA 2, DC=ca, DC=sbrf, DC=ru
    Issuer: CN=Test Root CA 2
    Owner: CN=Test Root CA 2
    Issuer: CN=Test Root CA 2
    

    Вывод должен содержать:

    • Your keystore contains 3 entry;

    • Certificate chain length: 3;

    • Issuer: УЦ банка.

  2. Поместите сертификаты УЦ, полученные через ЗНО, в truststore:

    keytool -keystore truststore.jks -alias "Test Root CA 2" -import -file "Test Root CA 2.cer"
    keytool -keystore truststore.jks -alias "Sberbank Test Issuing CA 2" -import -file "Sberbank Test Issuing CA 2.cer"
    

Корректировка server.properties#

На каждом узле брокеров Kafka в файле server.properties необходимо отредактировать основные параметры:

  1. Измените:

    listeners= PLAINTEXT://<ip_брокера>:9092
    

    на

    listeners = SSL://<ip_брокера>:9093
    
  2. Добавьте параметры в секции SSL и MAIN:

    ############################### SSL #################################
    security.inter.broker.protocol=SSL
    sasl.enabled.mechanisms=GSSAPI
    sasl.mechanism.inter.broker.protocol=GSSAPI
    sasl.kerberos.service.name =kafka
    #путь к файлу, скопированному в п.4
    ssl.keystore.location = ./ssl/serverNode.jks
    ssl.truststore.location = ./ssl/trustStore.jks
    ssl.keystore.password = XXXXX
    ssl.truststore.password = XXXXX
    ssl.key.password = XXXX
    ssl.client.auth = required
    ssl.enabled.protocols = TLSv1.2
    
    ##########################[ MAIN ]#########################
    broker.id=1
    replica.fetch.max.bytes = 20971520
    max.message.bytes = 20971520
    message.max.bytes = 20971520
    

    Параметр max.message.bytes устанавливается для каждого топика по отдельности через утилиту ./kafka-configs.

    Пример:

    ./kafka-configs --zookeeper <ip-адрес-zookeper1>:2181,<ip-адрес-zookeper2>:2181 --entity-name <topic-name> --entity-type topics --alter --add-config max.message.bytes=XXXXXXX
    

    Параметр message.max.bytes устанавливается в конфигурационном файле на уровне брокера.

  3. Добавьте параметры в секцию авторизации:

    #####################[ AUTHORIZATION ]#####################
    authorizer.class.name =kafka.security.auth.SimpleAclAuthorizer
    
    #здесь указывается сертификат администратора Kafka
    super.users=User:CN=00CA0001SKAFKAPPRBEFIMOVAV,OU=00CA,O=Savings Bank of the Russian Federation,C=RU
    zookeeper.set.acl=false
    allow.everyone.if.no.acl.found=false
    

    Примечание

    Каталоги с топиками рекомендуется разместить на SSD-томе (в случае испрользования физического сервера).

  4. Отредактируйте параметры в секции логирования LOGS.

    Установите время хранения — 72 часа в параметре log.retention.hours и максимальный размер сообщений.

    #######################[ LOGS ]##########################
    log.retention.hours = 72
    log.retention.check.interval.ms =300000
    log.cleaner.enable = True
    log.dirs =/kafka/ssd/kafka-logs-new
    log.segment.bytes= 2073741824 log.retention.check.interval.ms =300000
    log.cleaner.enable=true
    

Перезапуск Kafka и ZooKeeper#

Остановить Kafka на всех узлах:

./bin/kafka-server-stop.sh
./bin/zookeeper-server-stop.sh

Запустить Kafka на всех узлах:

./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

./bin/kafka-server-start.sh -daemon config/server.properties

Топики, необходимые для работы, создаются при первом подключении Archiving к Kafka полигона.

Создание служебных топиков#

Для работы Archiving в Kafka создаются служебные топики. Существуют два варианта их создания:

  • автоматически при первом запуске Archiving;

  • вручную.

Если необходимо автоматическое создание, то в конфигурации Archiving (смотрите раздел «Доработка конфигурации под полигон развертывания») установите pprbod-source-provider-v4@topics.enable.autoconfig = true.

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

Название топика

Количество партиций

Retention ИФТ

Retention ПРОМ

Replication ИФТ

Replication ПРОМ

Rule Archiving

Rule КАП

Примечание

<название полигона>-<standin/normal>-pprbod-batch-topic

равно количеству узлов Archiving

1

1

чтение/запись/описание

-

<название полигона>-<standin/normal>-pprbod-chunk-topic

1

1

1

чтение/запись/описание

-

Archiving 4.6 и выше

<название полигона>-<standin/normal>-pprbod-delivery-topic

равно количеству узлов Archiving

1

1

чтение/запись/описание

-

<название полигона>-<standin/normal>-pprbod-quality-topic

1

1

1

чтение/запись/описание

-

<название полигона>-<standin/normal>-pprbod-source-update-topic

равно количеству узлов Archiving

1

1

чтение/запись/описание

-

<название полигона>-<standin/normal>-pprbod-quality-response-topic

равно количеству узлов Archiving

1

1

чтение/запись/описание

-

Archiving 4.5 и выше

Создание топиков источника#

Процесс аналогичен созданию служебных топиков. В Kafka создаются топики под каждый источник. Если необходимо автоматическое создание, установите pprbod-source-provider-v4@topics.enable.autoconfig = true.

Название топика

Количество партиций

Retention ИФТ

Retention ПРОМ

Replication ИФТ

Replication ПРОМ

Rule Archiving

Rule КАП

Примечание

<название полигона>-<мнемоника источника>

3

24ч

72ч

1

2

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_commit

1

24ч

24ч

1

1

чтение/описание

запись/описание

<название полигона>-<мнемоника источника>_batch

1

24ч

24ч

1

1

чтение/запись/описание

-

Archiving 4.5 и выше

<название полигона>-<мнемоника источника>_dq

равно количеству узлов Archiving

24ч

24ч

1

1

чтение/описание

запись/описание

<название полигона>-<мнемоника источника>_dq_response

1

24ч

24ч

1

1

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_drp

равно количеству узлов Archiving

24ч

24ч

1

1

чтение/описание

запись/описание

<название полигона>-<мнемоника источника>_drp_response

1

24ч

24ч

1

1

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_error

1

24ч

24ч

1

1

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_init

1

24ч

72ч

1

2

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_offdq

равно количеству узлов Archiving

24ч

24ч

1

1

чтение/описание

запись/описание

<название полигона>-<мнемоника источника>_offdq_response

1

24ч

24ч

1

1

запись/описание

чтение/описание

<название полигона>-<мнемоника источника>_raw

равно количеству узлов Archiving

1

1

чтение/запись/описание

-

Создание транспортных топиков источника#

Для источников на DataSpace и Platform V Persistence 4 поколения в транспортной Kafka Archiving создаются транспортные топики. Если необходимо автоматическое создание, установите pprbod-transport-kafka-lib@transport_topics.enable.autoconfig= true.

Название топика

Количество партиций

Retention ИФТ

Retention ПРОМ

Replication ИФТ

Retention ПРОМ

Rule Archiving

Rule источника

<название полигона>-<название модуля>-<название зоны>_request

1

1

1

запись/описание

чтение/описание

<название полигона>-<название модуля>-<название зоны>_response

1

1

1

чтение/описание

запись/описание

<название полигона>-<название модуля>-<название зоны>_confirm

1

1

1

запись/описание

чтение/описание

<название полигона>-<название модуля>-<название зоны>_async

1

1

1

чтение/описание

запись/описание

Настройка Kafka взаимодействия с источниками 4 поколения (Kafka 4-3)#

Данная Kafka служит шиной для взаимодействия с источниками данных, которые находятся в четвертом поколении платформы (стек k8s или OpenShift (опционально)).

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

Настройка Kafka Прикладного Журнала#

Интеграционная Kafka Archiving и Kafka для взаимодействия с источниками 4 поколения являются частью инфраструктуры Archiving и конфигурируются его сопровождением.

Kafka Прикладного журнала относится к инфраструктуре Прикладного журнала. Archiving является для нее клиентом. Поэтому при настройке взаимодействия с данной Kafka выпускаются только клиентские сертификаты (смотрите раздел «Создание клиентских сертификатов»).

Переход с Kafka на Corax#

Для перехода на Corax выполните следующие действия:

  1. Определите все нестандартные (имеющие параметры со значениями, отличающимеся от значений по умолчанию) конфигурации топиков на старой Kafka на каждом узле брокеров Kafka в файле server.properties.

  2. Отключите модули Archiving на всех стендах, связанных с данной Kafka.

  3. Пропишите Corax в Platform V Configuration (описано в разделе Настройка серверов Kafka), установите сертификаты (см. раздел Генерация сертификата).

  4. Запустите модули Archiving (см. Сценарии администрирования.

  5. Сконфигурируйте топики аналогично исходной конфигурации, определенной в пункте «1» (например, увеличьте количество партиций, время хранения и т.д.).

Создание клиентских сертификатов#

Помимо создания сертификата для сервера также необходимо выпустить клиентские сертификаты для каждой Kafka.

Создание клиентского сертификата интеграционной Kafka#

  1. Создайте клиентский сертификат. Он необходим Archiving для чтения и записи в топики. Процедура выпуска аналогична серверному сертификату.

    После выпуска сертификата сохраните его DNAME как параметр конфигурации pprbod-source-provider-v4@kafka.tsa.principal в формате: User:CN=00CA....brf.ru,OU=00CA,O=Savings Bank of the Russian Federation,C=RU. Путь к сертификату сохраните как параметр конфигурации pprbod-source-provider-v4@kafka.ssl.keystore.location.

  2. Получите от КАП клиентский сертификат для чтения и записи в топики интеграционой Kafka Archiving.

    Получите DNAME клиентского сертификата КАП и запомните его как параметр конфигурации pprbod-source-provider-v4@kafka.cap.principal в формате: User:CN=00CA....brf.ru,OU=00CA,O=Savings Bank of the Russian Federation,C=RU.

  3. Создайте клиентский сертификат администратора, который необходим Archiving для создания топиков.

    Путь к сертификату сохраните как параметр конфигурации pprbod-source-provider-v4@kafka.admin.ssl.keystore.location.

  4. Выдайте клиентскому admin-сертификату SSL для интеграционной Kafka Archiving Devops-права: автосоздание и автоконфиг топиков.

    Необходимые права:

  5. Выдайте клиентскому сертификату SSL Archiving для интеграционной Kafka Archiving права all на группу '*'.

  6. Выдайте клиентскому сертификату SSL КАП для интеграционной Kafka Archiving права all на группу '*'.

  7. Сохраните адреса брокеров Kafka как параметр конфигурации: pprbod-source-provider-v4@integration-environment.bootstrap.servers.

    Проверьте, что указаны SSL порты Kafka (пример параметра: <ip-адрес1>:9093,<ip-адрес2>:9093,<ip-адрес3>:9093).

Создание клиентского сертификата Kafka 4-3#

  1. Создайте клиентский сертификат с правами на чтение всех топиков. Он необходим Archiving для чтения из топиков.

    Разместите сертификат на каждом из узлов Archiving.

    Путь к сертификату запомните как параметр конфигурации pprbod-transport-kafka-lib@kafka.consumer.ssl.keystore.location.

  2. Создайте клиентский сертификат для записи с правами на запись во все топики. Необходим Archiving для записи в любой из топиков.

    Разместите сертификат на каждом из узлов Archiving.

    Путь к сертификату запомните как параметр конфигурации pprbod-transport-kafka-lib@kafka.producer.ssl.keystore.location.

  3. Создайте клиентский admin-сертификат. Необходим Archiving для создания топиков.

    Путь к сертификату запомните как параметр конфигурации pprbod-source-provider-v4@kafka.aj.ssl.keystore.location.

  4. Выдайте клиентскому admin-сертификату SSL для интеграционной Kafka Archiving Devops права: автосоздание и автоконфиг топиков.

    Необходимые права:

  5. Выдайте клиентскому сертификату SSL Archiving для интеграционной Kafka 4-3 права all на группу '*'.

  6. Сохраните адреса брокеров Kafka как параметр конфигурации pprbod-transport-kafka-lib@bootstrap.servers.

    Проверьте, что указаны SSL порты Kafka (пример параметра: <ip-адрес1>:9093,<ip-адрес2>:9093,<ip-адрес3>:9093).

Создание клиентского сертификата Kafka Прикладного Журнала#

Осуществляется сопровождением сервиса Прикладной Журнал. Для работы требуются сертификаты с правами на чтение и на запись (разные).

Разместите выпущенные сертификаты на узлах Archiving в каталогах, пути до которых указаны в конфигурации Прикладного журнала в артефакте:

  • application-journal@kafka.consumer.ssl.keystore.location — сертификат на чтение;

  • application-journal@kafka.producer.ssl.keystore.location — сертификат на запись.

После выполнения всех шагов настройка всех Kafka завершена.

Выпуск сертификата Archiving для Ignite SE 4.2100.6#

Выпуск сертификатов неразрывно связан с безопасным режимом Ignite. Безопасный режим активирует работу через SSL, а также отправку событий в подсистему аудит. Конфигурация безопасного режима начинается с установки JVM параметров на стенде.

Параметр

Описание

Значения

IGNITE_MBEANS_DISABLED

Отключение управления кластером через MBeans

true

IGNITE_CLUSTER_NAME

Имя кластера, одинаковое значение у всех узлов кластера

arch-journal

IGNITE_CLUSTER_TYPE

Тип (контур) кластера, одинаковое значение у всех узлов кластера. Указывается в зависимости от назначения стенда

st / ift / psi / prom

Опции можно указать в конце файла [дирeктория wildfly]/bin/standalone.conf.

Например, для типа кластера CLUSTER (для других стендов изменится только контур):

JAVA_OPTS="$JAVA_OPTS -DIGNITE_CLUSTER_TYPE=CLUSTER -DIGNITE_CLUSTER_NAME=arch-journal -DIGNITE_MBEANS_DISABLED=true"

Хранилище ключей#

Для серверных узлов Ignite необходимо подготовить сертификат. Он будет одинаковый для всех узлов в кластере. На этом этапе важно правильно сформировать CN для сертификата.

Генерация сертификата#

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

Параметр

Описание

Значения

Особенность

IGNITE_NODE_NAME

DNS-имя узла, до появления централизованной системы управления сертификатами проверка не осуществляется

boston / denon / kb / rb

Ни на что не влияет, но должен быть

IGNITE_CLUSTER_NAME

Имя кластера, одинаковое значение у всех узлов кластера

arch-journal

Должен совпадать с указанным в JVM опциях

IGNITE_CLUSTER_TYPE

Тип (контур) кластера, одинаковое значение у всех узлов кластера. Указывается в зависимости от назначения стенда

тип (контур) кластера

Должен совпадать с указанным в JVM опциях

Шаблон для CN сертификата:

00CA0000<CERTIFICATE_TYPE><LOGIN>@<IGNITE_NODE_NAME>.<IGNITE_CLUSTER_TYPE>.<IGNITE_CLUSTER_NAME>.sbrf.ru
00CA0000SIgnitePPRBARCH\@arch-journal.ru
00CA0000CIgniteClientPPRBARCH\@arch-journal.ru

CERTIFICATE_TYPE — буква перед логином:

  • S — серверный сертификат;

  • C — клиентский сертификат.

IgnitePPRBARCH — логин, под которым узел будет подключаться к кластеру. Должен совпадать с серверным логином в PPRBARCH-security-data.json.

IgniteClientPPRBARCH — логин клиента, который будет подключаться к кластеру. Должен совпадать с клиентским логином в PPRBARCH-security-data.json.

При генерации сертификата укажите уникальный пароль, удовлетворяющий требованиям безопасности к его составу. В <CN> вставьте заполненный выше шаблон.

Команда на создание сертификата:

keytool -genkey -alias serverNode -keystore serverNode.jks -keyalg RSA -keysize 2048 -dname "CN=<CN>, OU=00CA, O=Savings Bank of the Russian Federation, C=RU"

Создание запроса на подпись сертификата#

Выполните запрос на подпись сертификата:

keytool -keystore serverNode.jks -alias serverNode -certreq -file serverNode-certreq.csr

Подпись сертификата через RLM#

Для подписи сертификата необходимо сформировать запрос в RLM. Процесс формирования запроса зависит от полигона выпуска.

Внимание!

В поле Тип сертификата выберите Серверно-клиентский.

Импорт сертификатов удостоверяющего центра#

Импортируйте в JKS-хранилище сертификаты удостоверяющего центра (УЦ), которым подписаны сертификаты на предыдущем шаге. Это обязательно для последующего импорта подписанного сертификата, так как keytool проверяет корректность всей цепочки сертификации при импорте.

keytool -keystore serverNode.jks -alias "Test Root CA 2" -import -file "Test Root CA 2.cer"
keytool -keystore serverNode.jks -alias "Sberbank Test Issuing CA 2" -import -file "Sberbank Test Issuing CA 2.cer"

Импорт подписанного сертификата#

Импортируйте подписанный через ЗНО сертификат в JKS-хранилище командой:

keytool -keystore serverNode.jks -alias serverNode -import -file <путь к подписанному сертификату>

Удаление сертификатов удостоверяющего центра#

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

Удалите из JKS-хранилища сертификаты УЦ, добавленные в разделе «Импорт сертификатов удостоверяющего центра»

keytool -keystore serverNode.jks -alias "Test Root CA 2\" -delete
keytool -keystore serverNode.jks -alias "Sberbank Test Issuing CA 2" --delete

Проверка корректности созданных сертификатов#

  1. Проверьте целостность созданных сертификатов командой:

    keytool -v --list --keystore serverNode.jks | awk '/Owner:|Issuer:|Your keystore contains|Certificate chain length/'
    

    Пример вывода:

    Your keystore contains 1 entry
    Certificate chain length: 3
    Owner: CN=00CA0000SIgnitePPRBARCH\@arch-journal.ru, OU=00CA, O=Savings Bank of the Russian Federation, C=RU
    Issuer: CN=Sberbank Test Issuing CA 2, DC=ca, DC=sbrf, DC=ru
    Owner: CN=Sberbank Test Issuing CA 2, DC=ca, DC=sbrf, DC=ru
    Issuer: CN=Test Root CA 2
    Owner: CN=Test Root CA 2
    Issuer: CN=Test Root CA
    

    Вывод должен содержать:

    • Your keystore contains 1 entry;

    • Certificate chain length: 3;

    • Issuer: УЦ банка.

    Внимание!

    Обязательно проверьте в сертификате наличие поля ExtendedKeyUsages с двумя записями - serverAuth и clientAuth командой: keytool -v --list --keystore serverNode.jks.

    Вывод обязательно должен содержать следующие строки:

    ExtendedKeyUsages [
        serverAuth
        clientAuth
    ]
    
  2. Переместите сертификаты, подписанные УЦ, в truststore.

      keytool -keystore truststore.jks -alias \"Test Root CA 2\" -import -file \"Test Root CA 2.cer\"\
      keytool -keystore truststore.jks -alias \"Sberbank Test Issuing CA 2\" -import -file \"Sberbank Test Issuing CA 2.cer\"
    

Конфигурирование учетных записей Ignite#

Файл PPRBARCH-security-data.json содержит роли и пользователей Ignite. Файл должен содержать хешированые пароли. Логин пользователя должен совпадать с логином в сертификате.

Получить хеш и соль можно с помощью скрипта ise-user-control.sh, который находится в дистрибутиве Ignite по пути bin/ise-user-control.sh. Предварительно необходимо запустить узел скриптом bin/startServer.sh, а после генерации остановить скриптом bin/stopServer.sh.

Дистрибутив Ignite-SE-4.2100.6: запуск/остановка узла для генерации хеша

./bin/startServer.sh
./bin/stopServer.sh

Команда для генерации хеша

./bin/ise-user-control.sh generate-hash

Результат выполнения:

bash-3.2$ ./bin/ise-user-control.sh generate-hash
User control utility.
Time: 2021-02-09T11:47:57.021
Command [generate-hash] started.
Enter value for --password (password)
Enter value for --confirm-password (confirm password):
Salt: 72C44DCB781208723C177F595986B4A03DF44E23B850A11DF3098691D557CA6A
Salted hash: F18EE9C089DD482DF638DA9407DFA2388165408FAE8EF6895B34FE7051B0BC1DD3438A79351D3BE45F4F47E2A15F5154E8305A8F8A835D801751D83C174C388C
Command [generate-hash] finished successfully.Control utility has completed execution at: 2021-02-09T11:48:07.227
Execution time: 10206 ms

Полученные Salt и Salted hash необходимо разместить в параметрах salt и password соответственно.

{
  "creds":
    "login": "testUser1",
    "password":
"F18EE9C089DD482DF638DA9407DFA2388165408FAE8EF6895B34FE7051B0BC1DD3438A79351D3BE45F4F47E2A15F5154E8305A8F8A835D801751D83C174C388C"
"salt": "72C44DCB781208723C177F595986B4A03DF44E23B850A11DF3098691D557CA6A"
}

Рабочая директория Ignite#

Параметр igniteWorkDir должен указывать на рабочую директорию Ignite. У WildFly должны быть права на чтение и запись в эту папку. Например, когда владельцем файла является user WildFly.

Пример конфигурации (в конфигураторе) с включенным безопасным режимом:

  igniteWorkDir=/usr/WF/ignite
  addresses=10.XX.XXX.XX:XXXXX..XXXXX;
  localPort=47500
  secureGrid=true
  keyStoreFilePath=/usr/WF/certs/IgnitePPRBARCH-keystore.jks
  keyStorePassword=123456
  trustStoreFilePath=/usr/WF/certs/truststore.jks
  trustStorePassword=123456
  sslProtocol=TLSv1.2
  keyStoreType=JKS
  serverLogin=IgnitePPRBARCH
  serverPassword=123456
  allCredentialsFilePath=/usr/WF/certs/PPRBARCH-security-data.json
  sslClientAuth=true
  clientLogin=IgniteClientPPRBARCH
  clientPassword=123456
  clientKeyStoreFilePath=/usr/WF/certs/IgniteClientPPRBARCH-keystore.jks
  clientKeyStorePassword=123456
  clientTrustStoreFilePath=/usr/WF/certs/truststore.jks
  clientTrustStorePassword=123456
  clientTransactionTimeout=300000

Подключение Archiving к ОТТ#

Список модулей Archiving, для которых нужна настройка ОТТ#

  • arch-journal-cdm-init;

  • arch-journal-gbk-init;

  • arch-journal-ucp-consents-init;

  • arch-journal-dataspace-init;

  • pprbod-applied-journal-handler;

  • pprbod-data-quality-processor;

  • pprbod-offline-dq-collector-v4;

  • pprbod-source-provider-v4;

  • pprbod-stream-processor.

Порядок настройки ОТТ для отдельного модуля#

  1. Установка клиентских модулей OTT на сервера приложений Archiving.

  2. Генерация секретных ключей и сертификатов.

  3. Размещение на серверах Archiving секретных ключей.

  4. Размещение на серверах Archiving сертификатов OTT.

  5. Настройки в Конфигураторе.

  6. Перезапуск серверов приложений фабрики.

Этап

ИФТ

НТ

ПСИ

ПРОМ

1

Установка клиентских модулей OTT на сервера приложений Archiving

Выполняют администраторы Archiving, актуальную версию OTT можно запросить у администраторов

Выполняют администраторы Archiving, актуальную версию OTT можно запросить у администраторов

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

2

Генерация секретных ключей и сертификатов

Администраторы Archiving создают заявку в Jira. В заявке указать: 1. Проект: Сопровождение <имя системы> 2. Component/s: Infrastructure_ТС 3. В описании: список идентификаторов в ММТ (module.id) всех модулей Archiving (из пункта 4.1), контур ИФТ (КБ/РБ/PCI DSS)

Администраторы Archiving создают заявку в Jira. В заявке указать: 1. Проект: Сопровождение <имя системы> 2. Component/s: Infrastructure_ТС 3. В описании: список идентификаторов в ММТ (module.id) всех модулей Archiving (из пункта 4.1), контур ИФТ (КБ/РБ/PCI DSS)

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

3

Размещение на серверах Archiving секретных ключей

Выполняют администраторы Archiving. Полученные в рамках заявки из п.2 секретные ключи размещаются на серверах фабрики в каталоге /opt/pprb/keystore/

Выполняют администраторы Archiving. Полученные в рамках заявки из п.2 секретные ключи размещаются на серверах фабрики в каталоге /opt/pprb/keystore/

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

4

Размещение на серверах Archiving сертификатов OTT

Выполняют администраторы Archiving. Сертификат (пример: ift_ott_public.p12) размещается на серверах технологического сервиса в каталоге /opt/pprb/keystore/

Выполняют администраторы Archiving. Сертификат (пример: nt_ott_public.p12) размещается на серверах технологического сервиса в каталоге /opt/pprb/keystore/

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

5

Настройки в Конфигураторе

Администраторы Archiving информируют администраторов и координаторов об успешном выполнении работ по пп. 3 и 4. После согласования координатора администраторы применяют настройки в Конфигураторе для включения OTT

Администраторы Archiving информируют администраторов об успешном выполнении работ по пп. 3 и 4. После этого администраторы применяют настройки в Конфигураторе для включения OTT

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

6

Перезапуск серверов приложений фабрики

Выполняют администраторы Archiving

Выполняют администраторы Archiving

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip адреса на портале

Выполняют администраторы. Администратору технологического сервиса необходимо заранее указать module.id и ip-адреса на портале и создать ЗНО

Настройка PostgreSQL (Platform V Pangolin SE (PSQ))#

Базовая настройка PostgreSQL (рекомендуется использовать Platform V Pangolin SE (PSQ))#

Подготовка БД#

Закажите КТС PostgreSQL (Platform V Pangolin SE (PSQ)) (заявка может отличаться в зависимости от полигона) с указанием компонентов:

  • имя табличного пространства;

  • имя базы данных;

  • владелец БД (указать УЗ администратора/администраторов: кто будет работать с первичной настройкой/подготовкой базы и сопровождать ее);

  • ТУЗ системы/сервиса;

  • имя схемы.

Внимание!

Если используется кластерная конфигурация, все дальнейшие команды должны выполняться только на мастер-узле.

Подключение к PostgreSQL (Platform V Pangolin SE (PSQ)) через pgAdmin#

  1. Запустите pgAdmin. Откроется вкладка в браузере с запросом мастер-пароля (нужно ввести и запомнить пароль, так как он будет запрашиваться всегда при открытии pgAdmin).

  2. В разделе Servers выберите Add New Server, далее во вкладке General укажите имя сервера (для отображения в списке серверов).

  3. Откройте вкладку Connection и укажите ip/dns name сервера БД в поле host).

  4. В поле Port укажите порт, который был указан в почте (обычно это 5432 или 5433) .

  5. В поле Maintenance database укажите название базы.

  6. В полях Username/password укажите логин/пароль учетной записи и выполните подключение к базе.

  7. Для выполнения переподключения к базе под другой учетной записью нажмите правой кнопкой на сервер и выберите Disconnect, далее зайдите в Properties и укажите соответствующий логин/пароль.

После получения КТС:

ы1. Подключитесь к БД через pgAdmin (или другой клиент) под УЗ «Владелец БД» с указанным портом в письме (обычно это порт 5432 или 5433). 2. Смените транспортный паролль для ТУЗ (пароль по умолчанию Supertransport$123):

```
alter user "<ТУЗ>" with password '<новый_пароль>';
```

Пароль должен состоять из 15 символов, включая спецсимволы, цифры и заглавные буквы.
  1. Выполните команду:

    set role as_admin;
    
  2. Создайте схему pprbod_cfg. Она требуется БД для работы ТС Архивирование, так как у скриптов Liquibase ТСА отсуствуют права на создание схем. Команда на создание схемы:

    create schema if not exists pprbod_cfg;
    
  3. Укажите использование схемы по умолчанию командой:

    alter role "<ТУЗ>" in database <имя БД> set search_path to <имя схемы данных>;
    
  4. Выдайте привелегии для ТУЗ командой:

    grant ALL on schema <имя схемы данных> to "<ТУЗ>";
    
  5. Установите максимальное количество соединений с БД. Рассчитывается по формуле: <количество серверов Archiving> * jdbc.maxPoolSize (параметр конфигуратора в артефакте pprbod-source-provider-v4, по умолчанию 5) + 10 (на случай необходимости дополнительных подключений).

Возможные проблемы:

  • Скрипт liquibase при выполнении update блокирует параметр в базе. Можно проверить командой select * from DATABASECHANGELOGLOCK. Если параметр будет Locked true, необходимо выполнить команду Truncate table DATABASECHANGELOGLOCK для очистки значения в таблице.

  • Баг при выдаче КТС с владельцем группы db_admin (должна быть as_admin): необходимо оформлять ЗНО на группу SberInfra УБД Администрирование СУБД PostgreSQL (Platform V Pangolin SE (PSQ)).

  • Если схема не выбралась, укажите схему для сессии командой SET search_path TO <имя схемы данных>. Посмотреть можно через pgAdmin. Для этого нажмите правой кнопкой мыши по базе htmdb и выберите properties. В поле owner должен быть as_admin.

Перечисление списка схем:

select schema_name from information_schema.schemata;

Настройка PostgreSQL (рекомендуется использовать Platform V Pangolin SE (PSQ)) для работы через SSL соединение#

Создание центра сертификации для выпуска самоподписанных сертификатов.#

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

Создайте центр сертификации (CA — Certificate Authority), с помощью которого вы сможете выпускать сертификаты как для серверов, так и для клиентов. CA можно создать с помощью пакета OpenSSL.

Создайте корневой ключ:

openssl genrsa -out rootCA.key 2048

Создайте корневой сертификат:

openssl req -x509 -new -key rootCA.key -days 10000 rootCA.crt

Создание запроса на подпись сертификатов#

  • Сервер

    Создание ключа и сертификата для сервера.

    Создайте ключ сервера:

    openssl genrsa -out server.key 2048
    

    Создайте запрос на сертификат:

    openssl req -new server.key -out server.csr
    

    При заполнении полей в поле Common Name (CN) важно указать имя сервера: домен или IP адрес (Например, доменное имя: tkli-pprb3862).

    Подпишите запрос на сертификат корневым сертификатом:

    openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
    
  • Клиент

    Создайте клиентский ключ аналогично серверному, только имена файлов измените соответственно на client.key, client.crt, client.csr. В поле Common Name (CN) укажите логин, под которым будет выполняться подключение к БД.

    Для выпуска не самодписанных сертификатов создайте запрос на подпись сертификатов в RLM, приложите к нему файлы с расширением "csr".

Создание хранилища ключей и хранилища доверенных сертификатов для клиента#

  1. Создайте хранилище ключей PKCS12 из закрытого ключа и открытого сертификата:

    openssl pkcs12 -export -name client-cert -in client.crt -inkey client.key -out client_keystore.p12`
    
  2. Преобразуйте хранилище ключей PKCS12 в хранилище ключей JKS:

    keytool -importkeystore -destkeystore client_keystore.jks -srckeystore client_keystore.p12 -srcstoretype pkcs12 -alias client-cert
    
  3. Импортируйте сертификат сервера в доверенное хранилище клиента:

    keytool -import -alias server-cert -file rootCA.crt -keystore client_truststore.jks
    

Настройка конфигурационного файла PostgreSQL (рекомендуется использовать Platform V Pangolin SE (PSQ))#

  1. Скопируйте корневой сертификат CA, ключ и сертификат сервера в каталог БД:

    cp server.key /var/opt/rh/rh-postgresql12/lib/pgsql/data
    cp server.crt /var/opt/rh/rh-postgresql12/lib/pgsql/data
    cp rootCA.crt /var/opt/rh/rh-postgresql12/lib/pgsql/data
    chown postgres: /var/opt/rh/rh-postgresql12/lib/pgsql/data/server.{crt,key} /var/opt/rh/rh-postgresql12/lib/pgsql/data/rootCA.crt
    chmod 600 /var/opt/rh/rh-postgresql12/lib/pgsql/data/server.crt
    
  2. Отредактируйте конфигурацию PostgresSQL SE:

    nano /var/opt/rh/rh-postgresql12/lib/pgsql/data/postgresql.conf
    #(конфигурационный файл может быть custom.conf)
    ssl = on
    ssl_ca_file = 'rootCA.crt'
    ssl_cert_file = 'server.crt'
    ssl_key_file = 'server.key'
    ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
    nano /var/opt/rh/rh-postgresql12/lib/pgsql/data/pg_hba.conf
    hostssl arch_poseydon poseydon all md5 clientcert=verify-full
    

    После внесения изменений перезапустите PostgreSQL (Platform V Pangolin SE (PSQ)).

Установка Archiving на стенд#

  1. Загрузите конфигурационные файлы в конфигуратор Platform V (через который осуществляется конфигурирование WildFly) на полигоне. Для этого необходимо сделать следующее:

    Импортировать конфигурационные файлы модулей:

    • arch-journal-cdm-init-config-struct.xml;

    • arch-journal-gbk-init-config-struct.xml;

    • arch-journal-ucp-consents-init-config-struct.xml;

    • arch-journal-dataspace-init-config-struct.xml;

    • pprbod-applied-journal-handler-config-struct.xml;

    • pprbod-data-quality-processor-config-struct.xml;

    • pprbod-grid-lib-v4-config-struct.xml;

    • pprbod-handler-config-struct.xml;

    • pprbod-offline-dq-collector-v4-config-struct.xml;

    • pprbod-source-provider-v4-config-struct.xml;

    • pprbod-stream-processor-config-struct.xml.

    И другие (при наличии их в каталоге config).

  2. Выполните импорт настроек из property-файлов для импортированных конфигураций.

Именование конфигурационных файлов осуществляется по следующему шаблону: <название модуля>.properties.<расширение полигона>.

Общие параметры#

Параметры для всех модулей сохранены в файлах

<module>.properies.<server>

Примеры названия properties файла:

  • pprbod-applied-journal-handler.properties.server1;

  • pprbod-grid-lib-v4.properties.server2;

  • pprbod-data-quality-processor.properties.server3.

Частный случай для развертывания на стенде ИФТ КБ. Необходимо импортировать настройки:

  • arch-journal-cdm-init.properties.boston;

  • arch-journal-gbk-init.properties.boston;

  • arch-journal-ucp-consents-init.properties.boston;

  • pprbod-applied-journal-handler.properties.boston;

  • pprbod-data-quality-processor.properties.boston;

  • pprbod-grid-lib-v4.properties.boston;

  • pprbod-offline-dq-collector-v4.properties.boston;

  • pprbod-source-provider-v4.properties.boston;

  • pprbod-stream-processor.properties.boston.

Примечание

Некоторые параметры зависят от окружения установки модуля.

Доработка конфигурации под полигон развертывания#

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

prbod-source-provider-v4#

Настройки БД

Параметр

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

Описание

jdbc.driver

org.postgresql.Driver

Драйвер JDBC (поддерживается только postgres)

jdbc.url

JDBC URL подключение к БД

jdbc.username

Имя пользователя БД

jdbc.password

Пароль БД

jdbc.maxPoolSize

5

Максимальное число одновременных подключений к БД (зависит от количества слотов)

jdbc.minPoolSize

3

Минимальное допустимое количество одновременных подключений к БД

jdbc.ssl.connection

false

Режим подключения к БД с использованием защищенного SSL соединения

jdbc.ssl.protocol

TLSv1.2

Версия протокола защиты транспортного уровня

jdbc.ssl.mode

DISABLE

Описания режимов SSL

jdbc.ssl.factory

org.postgresql.ssl.NonValidatingFactory

Имя класса фабрики

jdbc.ssl.keystore.type

JKS

Тип keystore хранилища

jdbc.ssl.keystore.location

Путь к keystore, клиентский сертификат, выпущенный в разделе «Настройка PostgreSQL (рекомендуется использовать Platform V Pangolin SE (PSQ)) для работы через SSL соединение». Обязательно к заполнению в случае jdbc.ssl.connection = true

jdbc.ssl.keystore.password

Пароль от keystore. Обязательно к заполнению в случае jdbc.ssl.connection = true

jdbc.ssl.truststore.type

JKS

Тип truststore хранилища

jdbc.ssl.truststore.location

Путь к truststore , хранилищу доверенных сертификатов. Обязательно к заполнению в случае jdbc.ssl.connection = true

jdbc.ssl.truststore.password

Пароль от truststore, обязательно к заполнению в случае jdbc.ssl.connection = true)

Название полигона

Параметр

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

Описание

polygon.name

Название полигона, по шаблону: v4-<наименование>-<контур>

Настройки подключения к Kafka

Параметр

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

Описание

integration-environment.bootstrap.servers

Строка подключения для брокеров Kafka Archiving

kafka.security.protocol

PLAINTEXT

Протокол подключения к Kafka (PLAINTEXT или SSL)

kafka.ssl.keystore.location

Путь к keystore, клиентскому сертификату. Обязательно к заполнению в случае kafka.security.protocol = SSL

kafka.ssl.keystore.password

Пароль к keystore. Обязательно к заполнению в случае kafka.security.protocol = SSL

kafka.ssl.truststore.location

Путь к truststore. Обязательно к заполнению в случае kafka.security.protocol = SSL

kafka.ssl.truststore.password

Пароль от truststore. Обязательно к заполнению в случае kafka.security.protocol = SSL

kafka.ssl.key.password

Пароль от ключа. Обязательно к заполнению в случае kafka.security.protocol = SSL

Настройки продюсера

Параметр

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

Описание

kafka.producer.config.client.id

PPRBOD_DATA_PRODUCER

Префикс для id продюсера

kafka.producer.config.acks

1

Количество подтверждений от лидера при записи в интеграционную Kafka

kafka.producer.config.retries

2

Количество попыток повторной отправки при неудачной записи в интеграционную Kafka

kafka.producer.config.batch.size

16384

Размер пакета для отправки по сети при записи в интеграционную Kafka

kafka.producer.config.linger.ms

1

Длительность искусственной задержки для группировки отправляемых записей в интеграционную Kafka

kafka.producer.request.timeout.ms

90000

Таймаут записи в интеграционную Kafka

kafka.producer.compression.type

none

Алгоритм сжатия передаваемых записей при записи в интеграционную Kafka

kafka.producer.config.buffer.memory

67108864

Количество байт в буфере продюсера

kafka.producer.config.max.request.size

16777216

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

kafka.producer.config.key.serializer

org.apache.kafka.common.serialization.IntegerSerializer

Сериализатор ключей

kafka.producer.config.value.serializer

org.apache.kafka.common.serialization.ByteArraySerializer

Сериализатор значений

Настройки консюмера

Параметр

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

Описание

kafka.consumer.config.group.id

PPRBODCommandConsumer

Префикс консюмер-группы при чтении интеграционной Kafka

kafka.consumer.config.enable.auto.commit

true

Автокоммит при чтении записей

kafka.consumer.config.auto.commit.interval.ms

3000

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

kafka.consumer.config.session.timeout.ms

30000

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

kafka.consumer.config.key.deserializer

org.apache.kafka.common.serialization.ByteArrayDeserializer

Десериализатор ключей

kafka.consumer.config.value.deserializer

org.apache.kafka.common.serialization.ByteArrayDeserializer

Десериализатор значений

kafka.consumer.config.auto.offset.reset

latest

Стратегия назначения оффсета при подключении новой консюмер группы: earliest - читать сначала всегда, latest - читать с последнего сообщения

Настройки автоматического конфигурирования топиков

Параметр

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

Описание

kafka.topics.data.partitions

3

Количество партиций топика данных

kafka.topics.data.replication

3

Фактор репликации топика данных

kafka.topics.data.retention

86400000

Ретеншн топика данных

kafka.topics.commit.partitions

1

Количество партиций топика коммитов

kafka.topics.commit.replication

1

Фактор репликации топика коммитов

kafka.topics.commit.retention

86400000

Ретеншн топика коммитов

kafka.topics.dq.partitions

1

Количество партиций топика ТКД

kafka.topics.dq.replication

1

Фактор репликации топика ТКД

kafka.topics.dq.retention

86400000

Ретеншн топика ТКД

kafka.topics.offdq.partitions

1

Количество партиций топика оффлайн ТКД

kafka.topics.offdq.replication

1

Фактор репликации топика оффлайн ТКД

kafka.topics.offdq.retention

86400000

Ретеншн топика оффлайн ТКД

kafka.topics.offdqresponse.partitions

1

Количество партиций топика ответов оффлайн ТКД

kafka.topics.offdqresponse.replication

1

Фактор репликации топика ответов оффлайн ТКД

kafka.topics.offdqresponse.retention

86400000

Ретеншн топика ответов оффлайн ТКД

kafka.topics.dqresponse.partitions

1

Количество партиций топика ответов ТКД

kafka.topics.dqresponse.replication

1

Фактор репликации топика ответов ТКД

kafka.topics.dqresponse.retention

86400000

Ретеншн топика ответов ТКД

kafka.topics.error.partitions

1

Количество партиций топика ошибок

kafka.topics.error.replication

1

Фактор репликации топика ошибок

kafka.topics.error.retention

86400000

Ретеншн топика ошибок

kafka.topics.raw.partitions

6

Количество партиций топика необработанных данных

kafka.topics.raw.replication

3

Фактор репликации топика необработанных данных

kafka.topics.raw.retention

7200000

Ретеншн топика необработанных данных

kafka.topics.eventbus.partitions

6

Количество партиций системных топиков

kafka.topics.eventbus.replication

3

Фактор репликации системных топиков

kafka.topics.eventbus.retention

3600000

Ретеншн системных топиков

kafka.cap.principal

Принципал КАП, которому будут даны права

kafka.tsa.principal

Принципал Platform V Archiving, которому будут даны права

kafka.connection.timeout.ms

30000

Таймаут подключения к Kafka (распространяется только на админ клиент)

kafka.topics.batch.retention

86400000

Ретеншн батч топика

kafka.topics.batch.replication

1

Количество партиций батч топика (рекомендованное значение - количество узлов Archiving)

kafka.topics.batch.partitions

1

Фактор репликации батч топика

kafka.topics.drpresponse.retention

86400000

Ретеншн топика ответов DRP

kafka.topics.drpresponse.replication

1

Количество партиций топика ответов DRP (не более значения количества брокеров Kafka)

kafka.topics.drpresponse.partitions

1

Фактор репликации топика ответов DRP

kafka.topics.drp.retention

86400000

Ретеншн топика запросов DRP

kafka.topics.drp.replication

1

Количество партиций топика запросов DRP (не более значения количества брокеров Kafka)

kafka.topics.drp.partitions

1

Фактор репликации топика запросов DRP

kafka.topics.init.retention

86400000

Ретеншн топика данных Init

kafka.topics.init.replication

3

Количество партиций топика данных Init (не более значения количества брокеров Kafka)

kafka.topics.init.partitions

3

Фактор репликации топика данных Init

Настройки системных топиков

Параметр

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

Описание

kafka.eventbus.delivery.timeout.minutes

10

таймаут обработки одной партиции

Прочие параметры

Параметр

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

Описание

source.provider.fall.if.invalid.source.exists

false

Пропускать невалидные источники при старте

source.update.check.interval

60000

Интервал обновления данных о источнике

hash.salt

Соль для хеширования атрибутов белого списка

sources.with.old.remapping

GBK;PU_UL_SIC;SALARY_EMISSION;UCP_CONSENTS;

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

semaphore.mock.mode

default

(default|mock|prod) - параметр, который определяет какие семафоры вы слушаете

Параметры админ-клиента транспортной Kafka

Параметр

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

Описание

topics.enable.autoconfig

false

Автосоздание топиков

kafka.admin.ssl.truststore.location

Путь к хранилищу доверенных сертификатов для интеграционной Kafka

kafka.admin.ssl.truststore.password

Пароль от хранилища доверенных сертификатов для интеграционной Kafka

kafka.admin.ssl.keystore.location

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

kafka.admin.ssl.keystore.password

Пароль от хранилища ключей и сертификатов для интеграционной Kafka

kafka.admin.ssl.key.password

Пароль от ключа для интеграционной Kafka

kafka.consumer.topics.partition.assignment.timeout.ms

60000 (1 мин)

Время (таймаут) ожидания подписывания консьюмеров на топики перед началом обработки данных из них. Настройка общая для всех системных и прикладных топиков. Для промышленных сред, сред ИФТ-ПСИ не допускается установка околонулевых значений. Рекомендуемое значение - 1 минута

kafka.eventbus.delivery.thread.count

10000

Ограничивающий лимит числа потоков на системной службе отслеживания доставки DeliveryTracker. Допускается его уменьшение или увеличение в ходе тонкой настройки инстанса Archiving

Параметры, определяющие работу интерцепторов для функционала целостности и полноты в части ЭЦП сообщений

Параметр

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

Описание

сap.interceptor.enabled

Включение интерцепторов для функционала полноты в разрезе источников. Содержит список мнемоник источников, по которым включается функционал подписывания сообщений в интеграционной Kafka. Например GBK, PU_UL_SIC

cap.interceptor.classes

com.sbt.pprbod.kafka.ShadedKafkaSignatureProducerInterceptor

Имя класса реализации интерцептора продюсера. Не меняется в текущих релизах ТСА относительно значения по умолчанию

cap.interceptor.signature.service.class

ru.sbt.ss.kafka.interceptors.X509SignatureService

Имя класса реализации (сервиса) провайдера ЭЦП. Не меняется в текущих релизах ТСА относительно значения по умолчанию — применяется реализация Synapse

cap.interceptor.signature.header

Имя заголовка сообщения Kafka, в который помещается ЭЦП. При включении для хотя бы одного источника не может быть пустым. В разрезе отдельных источников не конфигурируется - заголовок всегда одинаковый

cap.interceptor.signature.attributes.prefix

Префикс атрибутов, используемых для кастомизации формирования ЭЦП. В текущих реализациях используются умолчательные значения реализации Synapse - значение всегда пустое. Возможность кастомизации заложена на будущие реализации

cap.interceptor.signature.stop.send.on.failure

true

Признак остановки обработки пакета в случае, если подпись в заголовке не совпала. Всегда должен быть true

cap.interceptor.signature.certificate.algorithm

SHA256WithRSA

Алгоритм ЭЦП. Не меняется. Допустим любой RSA-алгоритм (если ключ у сертификата RSA), который доступен через security провайдеры jvm, java.security.Signature.getInstance(). По умолчанию SHA256withRSA

cap.interceptor.signature.certificate.key.alias

Имя ключа (алиас) в локальном keystore для формирования подписи. Должно заполняться согласно выпущенному сертификату ЭП

cap.interceptor.signature.certificate.algorithm.header

Имя заголовка сообщения Kafka, в который помещается имя алгоритма подписи для проверки принимающей стороной. В текущих реализациях используются значения реализации Synapse по умолчанию - значение всегда пустое. Возможность кастомизации заложена на будущие реализации

cap.interceptor.signature.certificate.public.key.header

Имя заголовка сообщения Kafka, в который помещается открытый ключ для проверки подписи принимающей стороной. В текущих реализациях используются значения реализации Synapse по умолчанию — значение всегда пустое. Возможность кастомизации заложена на будущие реализации

cap.interceptor.signature.certificate.ssl.provider

Позволяет переопределить SSL провайдер для взаимодействия с Kafka для работы интерцептора ЭП. Не применяется и не заполняется никогда

cap.interceptor.signature.certificate.ssl.keystore.location

Путь на ЛФС к хранилищу с сертификатами для формирования ЭЦП сообщений Kafka. Переопределяет базовый путь к хранилищу сертификатов, используемых для подключения к интеграционной Kafka. Применяется и заполняется в случае, если сертификат ЭП не был экспортирован из контейнера и импортирован в базовое хранилище, а был размещен в отдельном keystore

cap.interceptor.signature.certificate.ssl.keystore.password

Пароль от хранилища сертификатов для формирования ЭЦП сообщений Kafka. Переопределяет базовый пароль от хранилища сертификатов. Используется в паре с параметром cap.interceptor.signature.certificate.ssl.keystore.location в случае, если для ключа ЭП использовано отдельное хранилище

cap.interceptor.signature.certificate.ssl.key.password

Позволяет переопределить SSL клиентский сертификат для взаимодействия с Kafka для работы интерцептора ЭП. Должен соответствовать применяемому Keystore выше

Параметры, определяющие работу прозрачного шифрования (Transparent Data Encryption, TDE) для функционала целостности и полноты в части шифрования Kafka трафика.

Параметр

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

Описание

tde.enabled

Включение Transparent Data Encryption в разрезе источников для интеграционных топиков. Содержит список мнемоник источников, по которым включается функционал прозрачного шифрования сообщений в интеграционной Kafka. Например, GBK, PU_UL_SIC

tde.raw.topic.enabled

Включение Transparent Data Encryption в разрезе источников для топиков сырых данных. Содержит список мнемоник источников, по которым включается функционал прозрачного шифрования сообщений в топиках сырых данных. Например, GBK, PU_UL_SIC. Для текущих инсталляций и согласно текущим требованиям значение параметра для ПРОМ инсталляций в норме должно строго совпадать с tde.enabled, возможность перекрытия оставлена для отладки и разбора инцидентов

tde.eventbus.enabled

false

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

tde.serializer.secret.key

Секрет для алгоритма HMAC для прозрачного шифрования данных. Должен удовлетворять требованиям доменной парольной политики к секретам

tde.serializer.salt

Соль для алгоритма шифрования. Должна удовлетворять требованиям доменной парольной политики к секретам

tde.serializer.factory.algorithm

PBKDF2WithHmacSHA256

Фабрика, реализующая алгоритм шифрования (имя реализации) JCP

tde.serializer.cipher.algorithm

AES/CBC/PKCS5Padding

Алгоритм шифрования. Допустимые значения ChiperSpec
1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 – дефолтный/рекомендуемый
2. TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 – резервный
3. TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 – резервный

tde.serializer.secret.key.spec.algorithm

AES

Алгоритм шифрования секрета

Параметры, определяющие работу модуля контроля задержки на RAW Topic и Data Topic.

| Название | Значение по умолчанию | Описание | |—|—|—|—|—| | cap.cluster.name | | clr1;clr2;clr3 - список кластеров(не стенды) через ';'. При отсутствии КАП может быть произвольным. По информации от КАП, в зонах его присутствия списки кластеров следующие: DEV - стенды: pprbod-source-provider-v4@cap.cluster.name=dev;sdpdevod; IFT - стенды: pprbod-source-provider-v4@cap.cluster.name=ift;iftnrt;sdpiftod ПСИ-стенды: pprbod-source-provider-v4@cap.cluster.name=clatsklod;atdisdpcap ПРОМ-стенды: pprbod-source-provider-v4@cap.cluster.name=clsklhbase;clsklhbase2;clsphbase3;sklsdppprb | | journal.deactivation.mode | | (ALL/MAIN) - выбор варианта остановки чтения - останавливаются все потоки, или остановка основного потока векторов изменений, при этом поток ретраев не останавливается | | lag.watcher.refresh.interval.ms | | Интервал проверки проверки лага в милисекундах. (60000 = 1 минута) | | lag.watcher.activate.on.error | | Реакция на ошибку вычисления лага. true - при любой ошибке вычисления лага включаем поток. false - поток не включаем | | data.lag.watcher.off.threshold | | Верхний порог отключения потока для Data Lag Wathcer | | data.lag.watcher.on.threshold | | Нижний порог включения потока для Data Lag Wathcer | | raw.lag.watcher.off.threshold | | Верхний порог отключения потока для Raw Data Lag Wathcer | | raw.lag.watcher.on.threshold | | Нижний порог включения потока для Raw Data Lag Wathcer |

pprbod-grid-lib-v4#

Настройки для работы с Ignite.

Конфигурация данного артефакта полностью зависит от настроек, выполненных на шаге «Конфигурация Ignite на стенде»

В случае, если secureGrid=false, для заполнения обязательны поля: addresses, Platform V DataGridWorkDir, localPort.

Параметр

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

Значения для контуров ПСИ / ПРОМ

Описание

addresses (массив)

Список discovery-адресов (все узлы, где установлен Archiving)

Element

Пример: 10.XX.XXX.XXX:XXXXX

Element

Пример: 10.XX.XXX.XXX:XXXX

localPort

49500

Discovery-порт

igniteWorkDir

/tmp/ignite

Не в папке tmp! Например: /usr/ignite

Временная директория Ignite

keyStoreFilePath

Путь до keystore

keyStorePassword

Пароль от keystore

trustStoreFilePath

Путь до хранилища доверенных CA

trustStorePassword

Пароль к хранилищу доверенных CA

sslProtocol

TLSv1.2

Протокол SSL, пример: TLSv1.2. Если secureGrid=false - пусто

keyStoreType

JKS

Тип keystore, при secureGrid=false - пусто, пример - JKS

serverLogin

Логин серверного узла

serverPassword

Нехешированный пароль серверного узла

allCredentialsFilePath

Пример: /usr/WF/certs/PPRBARCH-security-data.json

secureGrid

false

true

Безопасная таблица

sslClientAuth

false

true

Использовать SSL для клиентских подключений

clientKeyStoreFilePath

Путь до хранилища клиентских ключей

clientKeyStorePassword

Пароль к хранилищу клиентских ключей

clientTrustStoreFilePath

Путь до хранилища доверенных CA

clientTrustStorePassword

Пароль от хранилища

clientLogin

Логин тонкого клиента

clientPassword

Нехешированный пароль для тонкого клиента

clientTransactionTimeout

300000

Время на клиентскую транзакцию в миллисекундах

clientConnectorThreadPoolSize

200

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

pprbod-transport-kafka-lib#

Настройки подключения к Kafka

Параметр

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

Описание

bootstrap.servers

Строка подключения для брокеров Kafka (пример: 10.XXX.XXX.XX:XXXX,10.XXX.XXX.XX:XXXX,10.XXX.XXX.XX:XXXX)

Настройки подключения к Kafka продюсера

Параметр

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

Описание

kafka.producer.security.protocol

PLAINTEXT

Протокол подключения к Kafka (PLAINTEXT, SSL)

kafka.producer.ssl.keystore.location

Путь к keystore (сертификаты, созданные при конфигурировании Kafka 4-3 с правами чтения) (заполняется, если kafka.producer.security.protocol=SSL)

kafka.producer.ssl.keystore.password

Пароль к keystore (заполняется, если kafka.producer.security.protocol=SSL)

kafka.producer.ssl.truststore.location

Путь к truststore (заполняется, если kafka.producer.security.protocol=SSL)

kafka.producer.ssl.truststore.password

Пароль от truststore (заполняется, если kafka.producer.security.protocol=SSL)

kafka.producer.ssl.key.password

Пароль от ключа (заполняется, если kafka.producer.security.protocol=SSL)

kafka.producer.ssl.enabled.protocols

TLSv1.2

Протокол авторизации

kafka.producer.ssl.keystore.type

JKS

Тип хранилища ключей

kafka.producer.ssl.truststore.type

JKS

Тип хранилища доверенных

kafka.producer.ssl.protocol

TLS

Предпочтительный протокол авторизации

Настройки продюсера

Параметр

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

Описание

kafka.producer.retries

0

Кол-во попыток повторной отправки при неудачной записи в интеграционную Kafka

kafka.producer.batch.size

262144

Размер пакета для отправки по сети при записи в интеграционную Kafka

kafka.producer.linger.ms

0

Длительность искусственной задержки для группировки отправляемых записей в интеграционную Kafka

kafka.producer.request.timeout.ms

30000

Таймаут записи в интеграционную Kafka

kafka.producer.compression.type

snappy

Алгоритм сжатия передаваемых записей при записи в интеграционную Kafka

kafka.producer.buffer.memory

33554432

Количесбайт в буфере продюсера

kafka.producer.max.request.size

1048576

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

kafka.producer.receive.buffer.bytes

1024000

Размер буфера для получаемого сообщения

kafka.producer.send.buffer.bytes

1024000

Размер буфера для отправляемого сообщения

kafka.producer.metadata.max.age.ms

90000

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

Настройки подключения к Kafka консюмера

Параметр

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

Описание

kafka.consumer.security.protocol

PLAINTEXT

Протокол подключения к Kafka (PLAINTEXT, SSL)

kafka.consumer.ssl.keystore.location

Путь к keystore (сертификаты, созданные при конфигурировании Kafka 4-3 с правами чтения) (заполняется, если kafka.consumer.security.protocol=SSL)

kafka.consumer.ssl.keystore.password

Пароль к keystore (заполняется, если kafka.consumer.security.protocol=SSL)

kafka.consumer.ssl.truststore.location

Путь к truststore (заполняется, если kafka.consumer.security.protocol=SSL)

kafka.consumer.ssl.truststore.password

Пароль от truststore (заполняется, если kafka.consumer.security.protocol=SSL)

kafka.consumer.ssl.key.password

Пароль от ключа (заполняется, если kafka.consumer.security.protocol=SSL)

kafka.consumer.ssl.enabled.protocols

TLSv1.2

Протокол авторизации

kafka.consumer.ssl.keystore.type

JKS

Тип хранилища ключей

kafka.consumer.ssl.truststore.type

JKS

Тип хранилища доверенных

kafka.consumer.ssl.protocol

TLS

Предпочтительный протокол авторизации

Настройки консюмера

Параметр

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

Описание

kafka.consumer.enable.auto.commit

false

Автокоммит при чтении записей

kafka.consumer.auto.commit.interval.ms

3000

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

kafka.consumer.session.timeout.ms

30000

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

kafka.consumer.auto.offset.reset

latest

Стратегия назначения оффсета при подключении новой консюмер группы: earliest - читать сначала всегда, latest - читать с последнего сообщения

kafka.consumer.fetch.max.wait.ms

1500

Максимальное количество времени, которое сервер будет заблокирован, прежде чем ответить на запрос fetch, если нет достаточных данных, чтобы немедленно удовлетворить требование, заданное fetch.min.bytes

kafka.consumer.fetch.min.bytes

500

Минимальный объем данных, которые сервер должен возвращать для запроса

kafka.consumer.max.poll.interval.ms

3600000

Максимальная задержка между вызовами

kafka.consumer.max.poll.records

1

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

kafka.consumer.receive.buffer.bytes

1024000

Размер буфера для получаемого сообщения

kafka.consumer.send.buffer.bytes

1024000

Размер буфера для отправляемого сообщения

kafka.consumer.metadata.max.age.ms

90000

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

Параметры протокола 4-3

Параметр

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

Описание

transport_topics.enable.autoconfig

false

Флаг, включающий и отключающий автоконфигурирование топиков в Kafka протокола 4-3 с использованием admin-client. Целевое значение true, так как конфигурирование топиков выполняется автоматически. Значение false применяется при наличии проблем, препятствующих корректной работе админ-клиента

transport.kafka.client.timeout.seconds

300

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

transport.kafka.response.pool.size

48

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

transport.kafka.async.pool.size

48

Размер пула потоков обработки обратных вызовов

kafka.admin.topics.retention

10800000 (3 часа)

Гарантированное время жизни записей в транспортных топиках (устанавливается при создании)

kafka.admin.topics.replication

1

Фактор репликации, используемый при создании транспортных топиков. Фактическое значение рекомендуется оставлять 1 для максимальной производительности кластера

kafka.admin.topics.partitions

1

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

kafka.admin.ssl.truststore.location

Путь к хранилищу доверенных сертификатов для транспортной Kafka протокола 4-3

kafka.admin.ssl.truststore.password

Пароль от хранилища доверенных сертификатов для транспортной Kafka протокола 4-3

kafka.admin.ssl.keystore.location

Путь к админскому сертификату для работы admin-client c транспортной Kafka 4-3 (набор ключей, который содержится в данном хранилище, используется при создании и настройке транспортных топиков)

kafka.admin.ssl.keystore.password

Пароль от хранилища ключей для работы admin-client c транспортной Kafka 4-3

kafka.admin.ssl.key.password

Пароль от закрытого ключа клиентского SSL сертификата для транспортной Kafka протокола 4-3

kafka.admin.retries.backoff.ms

5000

Интервал между повторными попытками настройки транспортных топиков (при ошибках)

kafka.admin.retries

3

Количество повторных попыток настройки транспортных топиков (при ошибках)

pprbod-data-quality-processor#

Параметры процессора оффлайн/онлайн ТКД.

Параметр

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

Описание

checkPeriodMinutes

5

Периодичность проверки грида

Параметры наполняемости кэша для хранения запрошенных в ходе ТКД ключей

Параметр

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

Описание

maxAmountBeforeOverfull

2000000

Абсолютное количество объектов, после которого начнется вытеснение ключей

fillingLimit

0.7

Порог заполнения (в процентах)

maxFillingAfterClean

0.9

Указывает предел, до которого происходит очистка хранилища ТКД. Указывается дробным числом, где 1 это хранилище, заполненное на 100%. Например, если maxFillingAfterClean=0.9, то при получении контейнера ТКД проверяется, насколько заполнено хранилище, и, если оно заполнено более, чем на 90%, происходит очистка, т.е. удаление отработанных ключей и их объектов. Очистка будет продолжаться, пока в хранилище не освободится до хотя бы 90%

timeoutForCleaning

60000

Периодичность попыток очистки кэша от отработанных ключей

defaultRetryCount

3

Количество повторных попыток запроса ключа

defaultResendDelayMinutes

15

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

defaultResendTimeoutMinutes

10

Таймаут, после которого требуется повторная отправка записи в неизвестном статусе

defaultSessionExpiredMinuts

180

Время жизни сессии ТКД (минуты) при неактивности (непоступлении новых запросов)

capkeysDeliveryTimeoutMs

15000

Время ожидания в миллисекундах до получения ключей из хранилища

pprbod-applied-journal-handler#

Параметры адаптера потока (модуль взаимодействия с АС Прикладной журнал).

Параметр

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

Описание

Замечание

plugin.code

EXPORT_FD4

Код плагина ПЖ для репликации в Archiving

retry.count

3

Количество переотправок журнала при получении ошибок репликации

journal.type.skip

AT, MD, IC, UL, CV, MC

Исключение типов ВИ при обработке потока для миграции данных (физического перемещения) между шардами для dataspace

Регистр букв не важен, типы указывать через запятую. Параметр для источников на DataSpace. Позволяет игнорировать служебные векторы Прикладного Журнала. Если их не игнорировать - Инит будет завершаться ошибкой при переключении между шардами источника. Необходимо игнорировать типы (указать в параметре):
IC - init change, пакет, содержащий изменения инициализирующего агрегата, аналогичный CV. Применяеся в SI, но не отправляется в ТСА;
AT – auxilary transaction, вспомогательная транзакция, то же самое, что CV, но предназначенное исключительно для stand-in, но не для внешних источников.
MD – migrating data, пакет, содержащий снимок состояния агрегата или изменение данных во время миграции.
UL – unlock, разблокировка данных и откат транзакции.
Обрабатываемые типы:
CV – change vector, вектор изменений;
MC – migrating change, пакет, содержащий изменения мигрирующего агрегата

Детальнее про настройку механизма ретраев см. «Подключение библиотеки для отправки журналов и перехода в StandIn».

pprbod-stream-processor#

Параметры процессора потока данных.

Параметр

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

Описание

maintenanceMode

false

true - ТСА не ждет ответа от КАП, чтобы подтвердить доставку данных (не целевой режим); false - ожидание ответа КАП, определяется параметром конфигурации конкретного источника capWaitCommit (см 1. Состав дистрибутива конфигурации источника)

init.target

DATA

Топик, в который следует отправлять данные для Инита:
DATA - данные Инита идут в один с данными из потока (например, v4-ift-rb-gbk);
INIT - данные идут в отдельный топик Инита (например, v4-ift-rb-gbk_init).
Начиная с версии 4.5.0 параметр удален — аналогичная опция задается на уровне источника в SourceDescription.yml и управляется фабрикой

capCommitAwaitTimeoutInSeconds

180

Период ожидания подтверждения доставки данных в КАП (в сек)

pprbod-offline-dq-collector-v4#

Параметры коллектора данных Init и ТКД (параметры конфигуратора отсуствуют).

arch-journal-cdm-init/arch-journal-ucp-consents-init/arch-journal-gbk-init/arch-journal-dataspace-init#

Параметры адаптеров Init.

Параметр

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

Описание

bgp.TechUser.name

arch-journal-gbk-init_bgpTech
arch-journal-cdm-init_bgpTech
arch-journal-ucp-consents-init_bgpTech

Логин Технологического пользователя, от имени которого будут выполняться процессы

bgp.boss.executor.core

1

Стартовый размер пула для босс-потоков

bgp.boss.executor.max

140

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

bgp.boss.executor.queue

0

Размер очереди пула для босс-потоков

bgp.workers.executor.core

50

Стартовый размер пула для обработчиков

bgp.workers.executor.max

20

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

bgp.workers.executor.queue

0

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

bgp.journalCache.delay

15000

Задержка (в миллисекундах) перед повторением попыток обновления журналов и других вызовов к агенту/координатору

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

Установка модулей на WildFly#

Следующим этапом развертывывания Archiving является установка компонентов сервиса на серверы WildFly.

Установка модулей осуществляется по следующему алгоритму:

  1. Установить на WildFly без запуска компоненты, которые присутствуют в дистрибутиве (не включать):

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

    Назначение компонента

    pprbod-source-provider-v4

    JBoss модуль - хранилище системных компонентов сервиса

    pprbod-stream-processor

    Обработчик данных, отправляющий данные в интеграционную Kafka Archiving

    pprbod-offline-dq-collector-v4

    Обработчик данных, присылаемых от источников данных в процессе Init и ТКД

    pprbod-data-quality-processor

    Модуль, отвечающий за выполнение ТКД и DRP

    pprbod-applied-journal-handler

    Обработчик данных, получаемых от АС Прикладной журнал

    arch-journal-cdm-init, arch-journal-dataspace-init, arch-journal-gbk-init, arch-journal-ucp-consents-init

    Модули-адаптеры для инициализирующей выгрузки различных типов источников данных

  2. Прописать все модули Archiving в seap-lib overlay в конфигурации WildFly.

    Один из вариантов выполнения с помощью встроенной утилиты WildFly ./jboss-cli.sh. При помощи терминала зайдите в каталог, где установлен WildFly, в подкаталог bin (пример: wildfly/bin), используя команду:

    ./jboss-cli.sh --connect --controller=<адрес сервера>:\<порт WildFly> --user=<имя пользователя> ---password=<пароль пользователя> --command="deployment-overlay link --name=seap-lib-9.2 --deployments=<название модуля>*"
    

    --deployments=<название модуля>* — звездочка означает, что overlay прописывается для любой версии данного модуля. Чтобы прописать overlay для конкретной версии,отредактируйте команду следующим образом:

    --deployments=<название модуля>-<номер версии>.war
    

    Пример команды для модуля pprbod-source-provider-v4

    ./jboss-cli.sh --connect --controller=10.XX.XXX.XX:XXXX --user=admin --password=admin --command="deployment-overlay link --name=seap-lib-9.2 --deployments=pprbod-source-provider-v4*"
    
  3. Перезапустите WildFly.

  4. Запустите компонеты Платформы в нужном порядке.

  5. Запустить компоненты Archiving в следующем порядке:

    1. pprbod-source-provider-v4.war;

    2. pprbod-stream-processor.war;

    3. pprbod-data-quality-processor.war;

    4. pprbod-offline-dq-collector-v4.war;

    5. pprbod-applied-journal-handler.war;

    6. Остальные модули Archiving в любом порядке.

  6. Повторите шаги 1-5 на всех серверах приложений WildFly, где необходимо установить Archiving.

Если запуск всех модулей на всех узлах произведен успешно, Archiving установлен на полигон.

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

Чек-лист установки компонентов Archiving на сервер#

  1. На серверах приложений все модули Archiving установлены успешно.

  2. Если параметр pprbod-source-provider-v4@topics.enable.autoconfig = true, в интеграционной Kafka появились топики, указанные в разделе «Создание служебных топиков».