Публикация информации о компонентах

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

Система публикует информацию о компонентах инсталляции в выделенную для этого прокси-таблицу. По умолчанию таблица отсутствует и должна быть создана, иначе информация о компонентах не будет публиковаться. Состав публикуемой информации см. в секции Параметры компонентов.

Публикуется информация о следующих компонентах:

  • нодах 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

Информация о компоненте в виде массива элементов, описанных в таблице ниже.

Имя Значение
id Идентификатор компонента.
Состоит из имени компонента и его индекса среди других компонентов того же типа. Для коннектора также указывается имя связанного датасорса
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
{“id”:”query-execution-core[1]”,
“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
{“id”:”ADP: adp instance”,
“name”:”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
{“id”:”ADP: kafka-postgres connector reader[0]”,
“name”:”kafka-postgres connector reader”,
“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
{“id”:”ADP: kafka-postgres connector writer[0]”,
“name”:”kafka-postgres connector writer”,
“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>, ее можно удалить.