Регистрация информации о компонентах

Содержание раздела
  1. Создание таблицы для регистрации информации
  2. Просмотр информации
  3. Регистрируемые параметры
  4. Пример вывода
  5. Отключение регистрации информации

Система регистрирует информацию о компонентах инсталляции, записывая ее в предварительно созданную прокси-таблицу. В текущей версии регистрируется только информация о нодах 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>.