Регистрация информации о компонентах
Содержание раздела
Система регистрирует информацию о компонентах инсталляции, записывая ее в предварительно созданную прокси-таблицу. В текущей версии регистрируется только информация о нодах Prostore.
Информация о компоненте записывается при его запуске и обновляется с интервалом 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
— группа компонента;version
— версия компонента;gitCommit
— SHA-хеш git-коммита, на основе которого собрана версия компонента;configuration
— поле зарезервировано для будущего использования; в текущей версии имеет значениеunknown
;createdAt
— Unix-время запуска компонента, равное целому количество микросекунд с 00:00:00 UTC 1 января 1970 года.
hash
-
SHA256-хеш значения поля
info
. expires at
-
Unix-время (в микросекундах с 00:00:00 UTC 1 января 1970 года), до которого информация считается актуальной. Время актуальности информации рассчитывается как
COMPONENT_INFO_TIMEOUT_ACTIVE_MS
с момента ее обновления.
Пример вывода
Ниже показан пример вывода SELECT-запроса к прокси-таблице с информацией по одной ноде Prostore. В реальном выводе информация о каждом компоненте представлена одной строкой, но здесь для наглядности она разделена на несколько строк.
instance_id | info | hash | expires_at |
---|---|---|---|
613c2bb9-44ad-4c76-a6b8-caa3dd77395c | {“name”:”query-execution-core”, “group”:”ru.datamart.prostore”, “version”:”7.2.0-SNAPSHOT”, “gitCommit”:”c70e9079e5d7a 6c4a413a6d05d5cb125d23b3de9”, “configuration”:”unknown”, “createdAt”:1741608965864} | 92b6579d97344e7a 82f6f91d8492b98 70b08f1897208d4 41101b912cf571abc3 | 1741699600403 |
Отключение регистрации информации
Чтобы отключить регистрацию информации о компонентах, установите для всех нод кластера значение параметра COMPONENT_INFO_ENABLED
равным false
.
При необходимости можно также удалить прокси-таблицу <component_info_datamart>.<component_info_table_components>
.