Публикация информации о компонентах
Содержание раздела
Система публикует информацию о компонентах инсталляции в выделенную для этого прокси-таблицу. По умолчанию таблица отсутствует и должна быть создана, иначе информация о компонентах не будет публиковаться. Состав публикуемой информации см. в секции Параметры компонентов.
Публикуется информация о следующих компонентах:
- нодах Prostore,
- датасорсах,
- коннекторах:
- Kafka-Postgres reader connector,
- Kafka-Postgres writer connector,
- Kafka Jet writer connector,
- Kafka-Clickhouse reader connector,
- Kafka-Clickhouse writer connector.
Запись с информацией о компоненте публикуется при его запуске и обновляется с интервалом COMPONENT_INFO_PUBLISH_PERIOD_MS
(по умолчанию — раз в минуту). Обновление продолжается в течение сессии — до перезапуска компонента. После перезапуска компонента система публикует новую запись для него, не удаляя записи предыдущих сессий.
Публикацию информации о компонентах можно отключить.
Создание таблицы для публикации информации
По умолчанию прокси-таблица для публикации информации о компонентах отсутствует. Чтобы создать такую таблицу, выполните запросы следующего вида:
-- создание служебной логической БД
CREATE DATABASE <component_info_datamart>;
-- создание прокси-таблицы
CREATE PROXY TABLE IF NOT EXISTS <component_info_datamart>.<component_info_table_components> (
instance_id VARCHAR NOT NULL,
info VARCHAR NOT NULL,
hash VARCHAR NULL,
expires_at BIGINT NOT NULL,
PRIMARY KEY (instance_id)
)
DATASOURCE_TYPE ('<datasource_name>');
Где:
component_info_datamart
— значение параметра конфигурацииCOMPONENT_INFO_DATAMART
(по умолчанию —component_info
);component_info_table_components
— значение параметраCOMPONENT_INFO_TABLE_COMPONENTS
(по умолчанию —component_info
);datasource_name
— имя датасорса, где будет размещена таблица; указывается в соответствии с конфигурацией.
Например:
CREATE DATABASE component_info;
CREATE PROXY TABLE IF NOT EXISTS component_info.component_info (
instance_id VARCHAR NOT NULL,
info VARCHAR NOT NULL,
hash VARCHAR NULL,
expires_at BIGINT NOT NULL,
PRIMARY KEY (instance_id)
)
DATASOURCE_TYPE ('adp');
Просмотр информации
Чтобы получить информацию о компонентах, выполните SELECT-запрос к созданной прокси-таблице:
SELECT * FROM <component_info_datamart>.<component_info_table_components>
По умолчанию информация доступна с помощью запроса:
SELECT * FROM component_info.component_info
Параметры компонентов
instance_id
-
UUID-идентификатор сессии, присваиваемый при запуске или перезапуске компонента.
info
-
Информация о компоненте в виде массива элементов, описанных в таблице ниже.
Имя Значение name
Имя компонента group
Группа компонента.
Для датасорсов указывается значениеunknown
version
Версия компонента gitCommit
SHA-хеш git-коммита, на основе которого собрана версия компонента.
Для датасорсов указывается значениеunknown
configuration
Фактическая конфигурация компонента с учетом всех файлов конфигурации и переменных окружения. Указывается как строка в YAML-формате, где логины и пароли по умолчанию замаскированы, а кавычки и другие служебные символы экранированы.
Для датасорсов типа ADG указывается значениеunknown
createdAt
Время запуска компонента, равное целому количеству миллисекунд с 00:00:00 UTC 1 января 1970 года.
Для датасорсов типа ADG указывается значение0
hash
-
SHA256-хеш значения поля
info
. expires_at
-
Время (в миллисекундах с 00:00:00 UTC 1 января 1970 года), до которого информация считается актуальной. Рассчитывается как интервал
COMPONENT_INFO_TIMEOUT_ACTIVE_MS
с момента обновления информации.
Пример вывода
Ниже показан пример вывода SELECT-запроса к прокси-таблице с информацией по одной ноде Prostore, датасорсу типа ADP и его коннекторам. В реальном выводе информация о каждом компоненте представлена одной строкой, но здесь для наглядности она разделена на несколько строк.
instance_id | info | hash | expires_at |
---|---|---|---|
7e626170-f713- 4835-9394- 0ffcb4495f94 | {“name”:”query-execution-core”, “group”:”ru.datamart.prostore”, “version”:”7.3.0-SNAPSHOT”, “gitCommit”:”9cca7b68c123784d 15fa11e0b9ad2afc72dcdb35”, “configuration”:”logging:\n level:\n ru:\n datamart:\n prostore: DEBUG\n <…> servicedb:\n db: dtm\n schema: sys_single\n user: ‘***‘\n password: ‘***‘\n <…>” “createdAt”:1746524937085} | 4c6a65bda2b4c86f eeab1dcc3701a8b6 71182e079953e048 02ec7365247f9f5a | 1746536861564 |
dd9e006a-7a5f- 3b24-851a- 6651e129f144 | {“name”:”ADP: adp instance”, “group”:”unknown”,”version”: “PostgreSQL 16.8 <…> (ALT Sisyphus 10.3.1-alt2), 64-bit”, “gitCommit”:”unknown”,”configuration”: ”- name: allow_in_place_tablespaces\n setting: "off"\n unit: null\n <…> pending_restart: false\n”, “createdAt”:1745567502519} | f33d79ea6bd7729d 86f090e3d1e1e0ac 37c84bbe8b2d74a3 4e67f549510bd146 | 1746536865105 |
4c960780-92ca- 440c-9fed- 1dffd7df2068 | {“name”:”ADP: kafka-postgres connector reader[0]”,”group”: “ru.datamart.connector”,”version”: ”<connector_version>”,”gitCommit”: “bd66d6ce8bd2d9a2e60b0745 776336e9c9028463”,”configuration”: “logging:\n level:\n ru:\n datamart:\n kafka: DEBUG\n org:\n apache:\n kafka: INFO\nhttp:\n <…> database: dtm\n user: ‘***‘\n password: ‘***‘\n <…>”,”createdAt”:1746009585108} | 42bf3f4edc4ef607 72a1f8583ed8e68f fc46c86f6e126414 08faaf18d371e08c | 1746536865117 |
71d015d3-361f- 433b-a04f- 5971a62a36e6 | {“name”:”ADP: kafka-postgres connector writer[0]”,”group”: “ru.datamart.connector”,”version”: ”<connector_version>”,”gitCommit”: “bd66d6ce8bd2d9a2e60b0745 776336e9c9028463”,”configuration”: “logging:\n level:\n ru:\n datamart:\n kafka: DEBUG\n org:\n apache:\n kafka: INFO\nhttp:\n <…> database: dtm\n user: ‘***‘\n password: ‘***‘\n <…>”,”createdAt”:1746009610338} | 029066ae45f30b8e 1e0d172f96f32873 08e317039db9369a 713cb00e7f748749 | 1746536865131 |
Отключение публикации информации
Чтобы отключить публикацию информации о компонентах, установите для всех нод кластера значение параметра COMPONENT_INFO_ENABLED
равным false
. Если ранее была создана прокси-таблица <component_info_datamart>.<component_info_table_components>
, ее можно удалить.