From aa8f23cce205ab99e2d65cae53f1809e808f4fa0 Mon Sep 17 00:00:00 2001 From: "pavel.korolkov" Date: Fri, 5 Jun 2026 19:42:30 +0500 Subject: [PATCH 1/5] docs: Add property history --- .../documentation/release-notes/v1.6.0.ru.md | 4 +++ content/documentation/user/catalog.ru.md | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/content/documentation/release-notes/v1.6.0.ru.md b/content/documentation/release-notes/v1.6.0.ru.md index 56155bf9..da1ee6dc 100644 --- a/content/documentation/release-notes/v1.6.0.ru.md +++ b/content/documentation/release-notes/v1.6.0.ru.md @@ -27,6 +27,10 @@ description: Заметки о выпуске v1.6.0 — выгрузка ауд Добавлена функция шаблонизации [«toSlug»](../../user/templating/#toslug). +### Каталог + +Добавлена история изменений свойств сущностей и просмотр «Свойства на момент времени». Подробнее — в разделе [«История свойств»](../../user/catalog/#история-свойств). + ### Виджеты Добавлен виджет [«DefectDojo. Продукт»](../../admin/widgets/types/#defectdojo-продукт) для просмотра уязвимостей продукта в DefectDojo с разбивкой по engagement и уровням критичности. diff --git a/content/documentation/user/catalog.ru.md b/content/documentation/user/catalog.ru.md index 208b0e40..fe07a78a 100644 --- a/content/documentation/user/catalog.ru.md +++ b/content/documentation/user/catalog.ru.md @@ -97,6 +97,7 @@ weight: 30 - «Запуски действий» — содержит список действий, которые запускались для данной сущности. - «Запуски процессов» — содержит список процессов, которые запускались для данной сущности. - «События» — содержит список событий, сгенерированных для данной сущности. +- «История свойств» — содержит список изменений свойств сущности. Вкладки с дашбордами из поля «Дополнительные вкладки с дашбордами» в настройках ресурса отображаются на странице сущности рядом со встроенными панелями; порядок вкладок соответствует порядку в настройках ресурса. @@ -115,6 +116,36 @@ weight: 30 Время хранения событий ограничено и может быть настроено через файл конфигурации платформы. +### История свойств + +Платформа сохраняет историю изменений свойств каждой сущности: прежнее и новое значение, источник изменения, дату и автора (если доступно). В отличие от событий, история фиксирует каждое изменение отдельного свойства, а не факт изменения спецификации сущности в целом. + +Просмотр истории доступен на странице сущности: + +1. Вкладка «История свойств» — полный список изменений всех свойств сущности. + +1. Иконка часов рядом с названием свойства — история изменений выбранного свойства в диалоговом окне. + +1. Кнопка «Свойства на момент времени» в блоке «Параметры» — значения всех свойств сущности на выбранную дату и время. + +В таблице «История свойств» отображаются столбцы «Идентификатор свойства», «Источник», «Кем изменено» и «Дата изменения». Кнопка «Показать изменения» открывает сравнение прежнего и нового значения свойства. + +В столбце «Источник» возможны значения: + +- «Вручную» — изменение пользователем в интерфейсе. +- «Действие» — изменение при выполнении действия. +- «Источник данных» — изменение при синхронизации источника данных. +- «Вебхук» — изменение при обработке вебхука. +- «Система» — автоматическое изменение платформой. + +На вкладке «История свойств» поле «Поиск» фильтрует записи по «Идентификатору свойства». Для фильтрации введите идентификатор свойства целиком. + +В диалоге «Свойства на момент времени» выберите «Дату и время» и нажмите «Показать». Нельзя выбрать дату в будущем. Если на выбранный момент свойств нет, отображается сообщение «Нет данных на выбранный момент». + +{{< alert level="info" >}} +Для просмотра истории свойств требуется право на просмотр сущности: глобальное разрешение `read:entities`, разрешение `read:entities` для ресурса или разрешение `read:entity` для сущности. Подробнее о правах доступа — в разделе [«Ролевая модель»](../../admin/security/rbac/). +{{< /alert >}} + ### Избранное Пользователь может добавить любую сущность в избранное. Для этого на странице сущности нажмите на круглую кнопку со всплывающей подсказкой «Добавить в избранное» рядом с названием сущности. Посмотреть добавленные в избранное сущности можно в разделе каталога «Избранное». From 061e2e9b479a09efccdd6050983726410ad0ac43 Mon Sep 17 00:00:00 2001 From: "pavel.korolkov" Date: Wed, 19 Aug 2026 21:22:06 +0500 Subject: [PATCH 2/5] docs: Update property history docs --- .../functional-architecture.ru.md | 22 ++++++ .../admin/architecture/workers.ru.md | 12 ++++ content/documentation/admin/install.ru.md | 67 +++++++++++++++++++ .../documentation/release-notes/v1.7.0.ru.md | 15 +++++ content/documentation/user/catalog.ru.md | 40 +++++++++-- 5 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 content/documentation/release-notes/v1.7.0.ru.md diff --git a/content/documentation/admin/architecture/functional-architecture.ru.md b/content/documentation/admin/architecture/functional-architecture.ru.md index 07877af2..d3830e1e 100644 --- a/content/documentation/admin/architecture/functional-architecture.ru.md +++ b/content/documentation/admin/architecture/functional-architecture.ru.md @@ -39,6 +39,7 @@ DDP Backend — это серверная часть платформы, реа * Выполняет валидацию токенов доступа локально, используя кэшированные ключи подписи. * Подключается к Redis для координации очереди задач. * Подключается к PostgreSQL для хранения и управления данными. +* Подключается к ClickHouse, если он настроен, для чтения хранящихся в нём данных. ### DDP Worker @@ -56,6 +57,7 @@ DDP Worker — это компонент для выполнения фонов * Использует Redis Streams для получения задач из очередей. * Подключается к PostgreSQL для чтения и обновления данных. * Интегрируется с внешними инфраструктурными сервисами для выполнения операций. +* Переносит данные из PostgreSQL в ClickHouse, если он настроен. ### Dex @@ -104,6 +106,24 @@ PostgreSQL — это основная реляционная база данн PostgreSQL может быть установлен в составе модуля DDP для тестовых и демонстрационных целей. В промышленной эксплуатации рекомендуется использование выделенных инстансов PostgreSQL. {{< /alert >}} +### ClickHouse + +ClickHouse — это хранилище для больших объёмов данных, например истории изменений свойств сущностей. + +{{< alert level="info" >}} +ClickHouse подключается опционально: он может быть установлен в составе модуля DDP либо подключён как внешний инстанс. Без него платформа работает, но зависящие от него возможности недоступны: например, не сохраняется история изменений свойств сущностей. Подробнее — в разделе [«ClickHouse»](../../install/#clickhouse). +{{< /alert >}} + +Основные функции: + +* Хранение больших объёмов записей. +* Обслуживание запросов на выборку из этих данных. + +Технические характеристики: + +* Наполняется DDP Worker, который переносит в него данные из PostgreSQL. +* Принимает подключения DDP Backend и DDP Worker по нативному протоколу ClickHouse. + ## Описание сетевых взаимодействий ![traffic-flows](../images/functional-architecture/ddp-architecture-diagram-traffic-flows.png) @@ -121,6 +141,8 @@ PostgreSQL может быть установлен в составе модул * DDP Backend ↔ PostgreSQL (TCP/5432): Backend выполняет операции чтения и записи постоянных данных. * DDP Worker ↔ Redis (TCP/6379): Worker получает задачи из очередей Redis Streams и использует распределенные блокировки. * DDP Worker ↔ PostgreSQL (TCP/5432): Worker обновляет данные в базе после выполнения задач. +* DDP Backend ↔ ClickHouse (TCP/9000, опционально): Backend читает данные, которые хранятся в ClickHouse. +* DDP Worker ↔ ClickHouse (TCP/9000, опционально): Worker переносит в ClickHouse данные из PostgreSQL и удаляет из него данные объектов, которые в платформе уже удалены. ### Интеграция с внешними сервисами diff --git a/content/documentation/admin/architecture/workers.ru.md b/content/documentation/admin/architecture/workers.ru.md index 194240a8..4cf88bb7 100644 --- a/content/documentation/admin/architecture/workers.ru.md +++ b/content/documentation/admin/architecture/workers.ru.md @@ -83,6 +83,18 @@ export WORKER_MAX_TASKS=15 - Возможность отслеживания прогресса выполнения. - Стабильность работы интерфейса. +## Фоновые операции с данными в ClickHouse + +Если подключён [ClickHouse](../../install/#clickhouse), воркеры дополнительно переносят в него данные из PostgreSQL и убирают лишнее. Так, например, обслуживается [история изменений свойств сущностей](../../../user/catalog/#история-свойств): + +- перенос новых записей об изменениях из PostgreSQL в ClickHouse; +- удаление перенесённых записей из очереди в PostgreSQL и перестроение её индексов; +- удаление истории сущностей и свойств, которых больше нет. + +Эти операции не берутся из очереди задач: каждый воркер запускает их сам, а от одновременного выполнения в нескольких репликах они защищены распределённой блокировкой. Если ни один воркер не запущен, изменения свойств продолжают записываться в PostgreSQL и остаются видимыми в интерфейсе, но очередь на перенос не разбирается и растёт. + +Параметры этих операций задаются в секции `clickhouse.replication` настроек модуля: размер и периодичность переноса, периодичность и отсрочка очистки очереди, перестроение индексов и интервал удаления истории несуществующих объектов. + ## Масштабирование При необходимости увеличения производительности системы можно: diff --git a/content/documentation/admin/install.ru.md b/content/documentation/admin/install.ru.md index 0e5f7977..230324b6 100644 --- a/content/documentation/admin/install.ru.md +++ b/content/documentation/admin/install.ru.md @@ -5,6 +5,8 @@ weight: 11 Deckhouse Development Platform (DDP) можно установить двумя способами: с [внешними инстансами](#установка-с-внешними-инстансами) PostgreSQL и Redis (подключение к уже развёрнутым базам данных вне кластера) или с [внутренними инстансами](#установка-с-внутренними-инстансами) (развёртывание PostgreSQL и Redis внутри кластера). Внешние инстансы рекомендуются для production, внутренние подходят для тестов и пилотной эксплуатации. +Дополнительно платформа может использовать [ClickHouse](#clickhouse) — хранилище для больших объёмов данных. По умолчанию он отключён. + ## Установка с внутренними инстансами Для установки DDP включите модуль `development-platform` в вашем кластере Kubernetes под управлением Deckhouse Kubernetes Platform. Для этого можно использовать [ModuleConfig](/products/kubernetes-platform/documentation/v1/reference/api/cr.html#moduleconfig) с минимальным количеством настроек: @@ -151,3 +153,68 @@ spec: database: "0" password: secure_redis_password ``` + +## ClickHouse + +ClickHouse — хранилище для больших объёмов данных, например [истории изменений свойств сущностей](../../user/catalog/#история-свойств). По умолчанию ClickHouse не развёртывается и не подключается — платформа работает без него, но зависящие от него возможности остаются недоступными. + +ClickHouse можно развернуть внутри кластера в составе модуля либо подключить внешний инстанс. Для промышленной эксплуатации используйте внешний инстанс. + +### Внутренний инстанс ClickHouse + +Для развёртывания ClickHouse внутри кластера укажите `mode: internal` и не задавайте параметр `host`: + +```yaml +apiVersion: deckhouse.io/v1alpha1 +kind: ModuleConfig +metadata: + name: development-platform +spec: + enabled: true + version: 1 + settings: + rbac: + superAdminEmail: admin@deckhouse.io + security: + secretKey: "16charssecretkey" + clickhouse: + mode: internal + database: ddp # Название базы данных, создаётся при первом запуске сервера. + username: default # Имя пользователя для подключения. + password: clickhouse_password # Пароль, с которым создаётся сервер в кластере. + image: registry.example.com/clickhouse/clickhouse-server:24.3 # (опционально) образ из приватного registry. +``` + +В этом режиме платформа разворачивает один экземпляр ClickHouse с постоянным хранилищем (PersistentVolumeClaim размером `10Gi`) и сама создаёт базу данных при первом запуске. + +### Внешний инстанс ClickHouse + +Для использования внешнего инстанса ClickHouse укажите `mode: external` и параметры подключения: + +```yaml +apiVersion: deckhouse.io/v1alpha1 +kind: ModuleConfig +metadata: + name: development-platform +spec: + enabled: true + version: 1 + settings: + rbac: + superAdminEmail: admin@deckhouse.io + security: + secretKey: "16charssecretkey" + clickhouse: + mode: external + host: clickhouse.example.com # Имя хоста или IP-адрес сервера ClickHouse. + port: 9000 # Порт нативного протокола ClickHouse (по умолчанию 9000). + database: ddp # Название базы данных. + username: ddp_user # Имя пользователя для подключения. + password: secure_password # Пароль для подключения. +``` + +{{< alert level="warning" >}} +Создайте базу данных до подключения внешнего инстанса: платформа применяет миграции схемы, но саму базу данных не создаёт. +{{< /alert >}} + +Доставку данных из PostgreSQL в ClickHouse и последующую очистку выполняют воркеры платформы, поэтому для переноса данных нужен хотя бы один запущенный воркер. Параметры доставки и очистки задаются в секции `clickhouse.replication`; значения по умолчанию подходят для большинства установок. Подробнее о воркерах — в разделе [«Воркеры»](../architecture/workers/). diff --git a/content/documentation/release-notes/v1.7.0.ru.md b/content/documentation/release-notes/v1.7.0.ru.md new file mode 100644 index 00000000..b059bb69 --- /dev/null +++ b/content/documentation/release-notes/v1.7.0.ru.md @@ -0,0 +1,15 @@ +--- +title: v1.7.0 +weight: 890 +description: Заметки о выпуске v1.7.0 — история изменений свойств сущностей и поддержка ClickHouse. +--- + +## Новые возможности + +### Каталог + +Добавлена история изменений свойств сущностей и просмотр «Свойства на момент времени». Подробнее — в разделе [«История свойств»](../../user/catalog/#история-свойств). + +### Установка + +Добавлена поддержка ClickHouse: он развёртывается в составе модуля или подключается как внешний инстанс и хранит большие объёмы данных, например историю изменений свойств сущностей. Подробнее — в разделе [«ClickHouse»](../../admin/install/#clickhouse). diff --git a/content/documentation/user/catalog.ru.md b/content/documentation/user/catalog.ru.md index fe07a78a..ba92fe96 100644 --- a/content/documentation/user/catalog.ru.md +++ b/content/documentation/user/catalog.ru.md @@ -118,17 +118,23 @@ weight: 30 ### История свойств -Платформа сохраняет историю изменений свойств каждой сущности: прежнее и новое значение, источник изменения, дату и автора (если доступно). В отличие от событий, история фиксирует каждое изменение отдельного свойства, а не факт изменения спецификации сущности в целом. +Платформа сохраняет историю изменений свойств каждой сущности — так в истории называются [параметры](../properties/) сущности. Для каждого изменения фиксируются прежнее и новое значение, источник изменения, дата и пользователь, выполнивший изменение. В отличие от событий, история фиксирует каждое изменение отдельного свойства, а не факт изменения спецификации сущности в целом. + +{{< alert level="info" >}} +Для работы истории свойств платформе требуется ClickHouse. Если ClickHouse не подключён, история не сохраняется, а вкладка «История свойств» и диалог «Свойства на момент времени» остаются пустыми. Подробнее — в разделе [«ClickHouse»](../../admin/install/#clickhouse). +{{< /alert >}} Просмотр истории доступен на странице сущности: -1. Вкладка «История свойств» — полный список изменений всех свойств сущности. +- Вкладка «История свойств» — полный список изменений всех свойств сущности. +- Иконка часов рядом с названием свойства в блоке «Параметры» — история изменений выбранного свойства в отдельном диалоговом окне. +- Кнопка «Свойства на момент времени» в блоке «Параметры» — значения всех свойств сущности на выбранную дату и время. -1. Иконка часов рядом с названием свойства — история изменений выбранного свойства в диалоговом окне. +#### Таблица истории -1. Кнопка «Свойства на момент времени» в блоке «Параметры» — значения всех свойств сущности на выбранную дату и время. +В таблице истории отображаются столбцы «Свойство», «Источник», «Кем изменено» и «Дата изменения», записи отсортированы от новых к старым. Кнопка «Показать изменения» открывает сравнение прежнего и нового значения свойства в формате JSON. -В таблице «История свойств» отображаются столбцы «Идентификатор свойства», «Источник», «Кем изменено» и «Дата изменения». Кнопка «Показать изменения» открывает сравнение прежнего и нового значения свойства. +Столбец «Кем изменено» заполняется, если изменение выполнил пользователь. Для изменений, выполненных без участия пользователя (например, при синхронизации источника данных или обработке вебхука), в столбце отображается «—». В столбце «Источник» возможны значения: @@ -138,9 +144,29 @@ weight: 30 - «Вебхук» — изменение при обработке вебхука. - «Система» — автоматическое изменение платформой. -На вкладке «История свойств» поле «Поиск» фильтрует записи по «Идентификатору свойства». Для фильтрации введите идентификатор свойства целиком. +На вкладке «История свойств» записи можно отфильтровать: + +- по свойству — выберите свойство в списке «Все свойства»; +- по времени изменения — задайте «Начало периода» и «Конец периода». + +Кнопка «Очистить» сбрасывает фильтры. В диалоговом окне с историей одного свойства фильтры не отображаются: записи в нём всегда относятся к выбранному свойству. + +#### Свойства на момент времени + +В диалоге «Свойства на момент времени» выберите «Дату и время» и нажмите «Показать». Для каждого свойства таблица покажет последнее значение, записанное в историю до выбранного момента. + +Свойство не попадёт в таблицу, если до выбранного момента у него нет записей в истории или последней записью его значение удалено. + +Выбрать момент в будущем нельзя. Если на выбранный момент данных нет, отображается сообщение «Нет данных на выбранный момент». + +#### Хранение истории + +Время хранения истории свойств не ограничено, но история не переживает удаление объекта, к которому относится: + +- при удалении сущности удаляется вся история её свойств; +- при удалении свойства из настроек ресурса удаляется история этого свойства у всех сущностей ресурса. -В диалоге «Свойства на момент времени» выберите «Дату и время» и нажмите «Показать». Нельзя выбрать дату в будущем. Если на выбранный момент свойств нет, отображается сообщение «Нет данных на выбранный момент». +В обоих случаях историю удаляет фоновая очистка, а не само удаление объекта. {{< alert level="info" >}} Для просмотра истории свойств требуется право на просмотр сущности: глобальное разрешение `read:entities`, разрешение `read:entities` для ресурса или разрешение `read:entity` для сущности. Подробнее о правах доступа — в разделе [«Ролевая модель»](../../admin/security/rbac/). From ff9a84035495ab413eeb76625c56699b38fdc000 Mon Sep 17 00:00:00 2001 From: "pavel.korolkov" Date: Wed, 19 Aug 2026 21:28:02 +0500 Subject: [PATCH 3/5] docs: Fix release notes --- content/documentation/release-notes/v1.6.0.ru.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/content/documentation/release-notes/v1.6.0.ru.md b/content/documentation/release-notes/v1.6.0.ru.md index da1ee6dc..56155bf9 100644 --- a/content/documentation/release-notes/v1.6.0.ru.md +++ b/content/documentation/release-notes/v1.6.0.ru.md @@ -27,10 +27,6 @@ description: Заметки о выпуске v1.6.0 — выгрузка ауд Добавлена функция шаблонизации [«toSlug»](../../user/templating/#toslug). -### Каталог - -Добавлена история изменений свойств сущностей и просмотр «Свойства на момент времени». Подробнее — в разделе [«История свойств»](../../user/catalog/#история-свойств). - ### Виджеты Добавлен виджет [«DefectDojo. Продукт»](../../admin/widgets/types/#defectdojo-продукт) для просмотра уязвимостей продукта в DefectDojo с разбивкой по engagement и уровням критичности. From 9d033710dc3ddfa5d467f3bfe1d08378a6a93908 Mon Sep 17 00:00:00 2001 From: "pavel.korolkov" Date: Thu, 20 Aug 2026 19:09:10 +0500 Subject: [PATCH 4/5] docs: Update workers docs --- content/documentation/admin/architecture/workers.ru.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/documentation/admin/architecture/workers.ru.md b/content/documentation/admin/architecture/workers.ru.md index 4cf88bb7..df454b22 100644 --- a/content/documentation/admin/architecture/workers.ru.md +++ b/content/documentation/admin/architecture/workers.ru.md @@ -88,12 +88,12 @@ export WORKER_MAX_TASKS=15 Если подключён [ClickHouse](../../install/#clickhouse), воркеры дополнительно переносят в него данные из PostgreSQL и убирают лишнее. Так, например, обслуживается [история изменений свойств сущностей](../../../user/catalog/#история-свойств): - перенос новых записей об изменениях из PostgreSQL в ClickHouse; -- удаление перенесённых записей из очереди в PostgreSQL и перестроение её индексов; +- перестроение индексов очереди в PostgreSQL после переноса большого объёма изменений; - удаление истории сущностей и свойств, которых больше нет. Эти операции не берутся из очереди задач: каждый воркер запускает их сам, а от одновременного выполнения в нескольких репликах они защищены распределённой блокировкой. Если ни один воркер не запущен, изменения свойств продолжают записываться в PostgreSQL и остаются видимыми в интерфейсе, но очередь на перенос не разбирается и растёт. -Параметры этих операций задаются в секции `clickhouse.replication` настроек модуля: размер и периодичность переноса, периодичность и отсрочка очистки очереди, перестроение индексов и интервал удаления истории несуществующих объектов. +Параметры этих операций задаются в секции `clickhouse.replication` настроек модуля: размер и периодичность переноса, перестроение индексов и интервал удаления истории несуществующих объектов. ## Масштабирование From 3847e46089c3d7f8a00b914164b6c0ab5559c985 Mon Sep 17 00:00:00 2001 From: "pavel.korolkov" Date: Fri, 21 Aug 2026 15:08:54 +0500 Subject: [PATCH 5/5] docs: Update docs --- .../documentation/admin/architecture/workers.ru.md | 5 +++-- content/documentation/admin/install.ru.md | 2 +- content/documentation/release-notes/v1.7.0.ru.md | 2 +- content/documentation/user/catalog.ru.md | 12 +++++++++--- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/content/documentation/admin/architecture/workers.ru.md b/content/documentation/admin/architecture/workers.ru.md index df454b22..484b468e 100644 --- a/content/documentation/admin/architecture/workers.ru.md +++ b/content/documentation/admin/architecture/workers.ru.md @@ -89,11 +89,12 @@ export WORKER_MAX_TASKS=15 - перенос новых записей об изменениях из PostgreSQL в ClickHouse; - перестроение индексов очереди в PostgreSQL после переноса большого объёма изменений; -- удаление истории сущностей и свойств, которых больше нет. +- удаление истории сущностей и свойств, которых больше нет; +- удаление истории, вышедшей за срок хранения. Эти операции не берутся из очереди задач: каждый воркер запускает их сам, а от одновременного выполнения в нескольких репликах они защищены распределённой блокировкой. Если ни один воркер не запущен, изменения свойств продолжают записываться в PostgreSQL и остаются видимыми в интерфейсе, но очередь на перенос не разбирается и растёт. -Параметры этих операций задаются в секции `clickhouse.replication` настроек модуля: размер и периодичность переноса, перестроение индексов и интервал удаления истории несуществующих объектов. +Параметры переноса задаются в секции `clickhouse.replication` настроек модуля: размер и периодичность переноса, перестроение индексов. [Срок хранения истории](../../../user/catalog/#хранение-истории) и периодичность очистки — в секции `clickhouse.propertyHistory`. ## Масштабирование diff --git a/content/documentation/admin/install.ru.md b/content/documentation/admin/install.ru.md index 230324b6..70a1a027 100644 --- a/content/documentation/admin/install.ru.md +++ b/content/documentation/admin/install.ru.md @@ -217,4 +217,4 @@ spec: Создайте базу данных до подключения внешнего инстанса: платформа применяет миграции схемы, но саму базу данных не создаёт. {{< /alert >}} -Доставку данных из PostgreSQL в ClickHouse и последующую очистку выполняют воркеры платформы, поэтому для переноса данных нужен хотя бы один запущенный воркер. Параметры доставки и очистки задаются в секции `clickhouse.replication`; значения по умолчанию подходят для большинства установок. Подробнее о воркерах — в разделе [«Воркеры»](../architecture/workers/). +Доставку данных из PostgreSQL в ClickHouse и последующую очистку выполняют воркеры платформы, поэтому для переноса данных нужен хотя бы один запущенный воркер. Параметры доставки задаются в секции `clickhouse.replication`, [срок хранения истории свойств](../../user/catalog/#хранение-истории) и периодичность очистки — в секции `clickhouse.propertyHistory`; значения по умолчанию подходят для большинства установок. Подробнее о воркерах — в разделе [«Воркеры»](../architecture/workers/). diff --git a/content/documentation/release-notes/v1.7.0.ru.md b/content/documentation/release-notes/v1.7.0.ru.md index b059bb69..19f798b6 100644 --- a/content/documentation/release-notes/v1.7.0.ru.md +++ b/content/documentation/release-notes/v1.7.0.ru.md @@ -8,7 +8,7 @@ description: Заметки о выпуске v1.7.0 — история изме ### Каталог -Добавлена история изменений свойств сущностей и просмотр «Свойства на момент времени». Подробнее — в разделе [«История свойств»](../../user/catalog/#история-свойств). +Добавлена история изменений свойств сущностей и просмотр «Свойства на момент времени». По умолчанию история хранится не менее 180 дней, срок настраивается. Подробнее — в разделе [«История свойств»](../../user/catalog/#история-свойств). ### Установка diff --git a/content/documentation/user/catalog.ru.md b/content/documentation/user/catalog.ru.md index ba92fe96..7e42779e 100644 --- a/content/documentation/user/catalog.ru.md +++ b/content/documentation/user/catalog.ru.md @@ -153,15 +153,21 @@ weight: 30 #### Свойства на момент времени -В диалоге «Свойства на момент времени» выберите «Дату и время» и нажмите «Показать». Для каждого свойства таблица покажет последнее значение, записанное в историю до выбранного момента. +В диалоге «Свойства на момент времени» выберите «Дату и время» и нажмите «Показать». Таблица покажет значения всех свойств сущности на выбранный момент. -Свойство не попадёт в таблицу, если до выбранного момента у него нет записей в истории или последней записью его значение удалено. +Свойство не попадёт в таблицу, если на выбранный момент оно ещё не существовало или его значение было удалено. Выбрать момент в будущем нельзя. Если на выбранный момент данных нет, отображается сообщение «Нет данных на выбранный момент». +Если выбранный момент раньше [срока хранения истории](#хранение-истории), таблица покажет состояние на начало сохранившейся истории, а над ней появится сообщение «Показано состояние на <дата>: за более ранний период история не хранится». + #### Хранение истории -Время хранения истории свойств не ограничено, но история не переживает удаление объекта, к которому относится: +История свойств хранится не менее 180 дней. Срок задаётся параметром модуля `clickhouse.propertyHistory.retentionDays`; значение `0` отключает удаление по сроку, и тогда история хранится бессрочно. Записи удаляются целыми календарными месяцами, поэтому фактически история хранится на срок до месяца дольше заданного. + +Если на вкладке «История свойств» в фильтре указано «Начало периода» раньше срока хранения, над таблицей появляется сообщение «История за период до <дата> не хранится»: пустой список в этом случае не означает, что свойства не менялись. + +Кроме срока хранения, история не переживает удаление объекта, к которому относится: - при удалении сущности удаляется вся история её свойств; - при удалении свойства из настроек ресурса удаляется история этого свойства у всех сущностей ресурса.