From ee0306d19e177f9dccae187b9082fb572888e5b6 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Fri, 21 Aug 2026 14:01:32 -0400 Subject: [PATCH] =?UTF-8?q?docs(monitoring):=20=D1=83=D0=B1=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE=D1=80=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=BE=D0=B2,=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=80=D0=B5=D1=82=20=D0=B8=20=D0=B4=D0=B2?= =?UTF-8?q?=D0=BE=D0=B9=D0=BD=D0=BE=D0=B9=20=D0=B4=D0=BE=D0=B2=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - таблица панелей дублировала заголовки из data.json и уже правилась дважды; заголовок раздела называл запрещённое действие вместо нужного; довод про отвергнутые способы счёта сходимости стоял в двух местах. - Что: - в таблице панелей остались только источники, вопрос панели читается с её заголовка на экране. - раздел про чтецов Kafka назван по тому, что панели делают, опасность kafka_commit_on_select осталась внутри как причина. - из записи о приёмке убран пересказ довода, замер оставлен. - Проверка: - make config-test; make lint. --- docs/architecture/monitoring/data.md | 33 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/docs/architecture/monitoring/data.md b/docs/architecture/monitoring/data.md index 556b82d..6292aef 100644 --- a/docs/architecture/monitoring/data.md +++ b/docs/architecture/monitoring/data.md @@ -7,14 +7,17 @@ Порогов и цветовых вердиктов на панелях нет: на дашборд смотрят глазами, красное и зелёное живёт в проверках и дагах DQ. -| Панель | Откуда берёт | О чём отвечает | -|---|---|---| -| Свежесть | `ods.event_dist`, `ods.order_dist` | сколько прошло с последней доехавшей строки | -| Поток | `stg.hits_raw_dist`, `stg.orders_raw_dist` | сколько строк приезжает в слой сырья | -| Брак | те же и `ods.*_errors_dist` | сколько приехавшего не разобралось и какая это доля | -| Сходимость | экспортёр Kafka и `stg.hits_raw_dist` | произведённое против приземлившегося | -| Отставание | `kafka_consumergroup_lag` | сколько сообщений не прочитано | -| Дневной слепок | `stg.orders_raw_dist` | какой слепок доехал, когда и после какой паузы | +Свой вопрос каждая панель называет заголовком прямо на экране. Здесь — только +источники: разговор ниже про них. + +| Панель | Откуда берёт | +|---|---| +| Свежесть | `ods.event_dist`, `ods.order_dist` | +| Поток | `stg.hits_raw_dist`, `stg.orders_raw_dist` | +| Брак | те же и `ods.*_errors_dist` | +| Сходимость | экспортёр Kafka и `stg.hits_raw_dist` | +| Отставание | `kafka_consumergroup_lag` | +| Дневной слепок | `stg.orders_raw_dist` | ## Почему слои у панелей разные @@ -51,13 +54,13 @@ укладываются в минуты реального времени, и соседние дни мира помещаются в одно окно панели сами. -## Чтецов Kafka панели не читают +## Приземлившееся считают по слою сырья -`stg.hits_raw_kafka` и `stg.orders_raw_kafka` — таблицы движка Kafka, а не -хранилище: запрос из панели у второго забрал бы слепок себе и сдвинул офсеты -(`kafka_commit_on_select`, см. `sql/ddl/10-stg-tables.sql`), а даг приёма -приехал бы к пустому топику. Приземлившееся панели считают по `stg.*_raw_dist`, -произведённое — по метрикам экспортёра. +Приземлившееся панели считают по `stg.*_raw_dist`, произведённое — по метрикам +экспортёра. Таблицы движка Kafka `stg.hits_raw_kafka` и `stg.orders_raw_kafka` +хранилищем не работают: у второго стоит `kafka_commit_on_select` +(`sql/ddl/10-stg-tables.sql`), и запрос из панели забрал бы слепок себе, +сдвинул офсеты, а даг приёма приехал бы к пустому топику. ## Как считается сходимость @@ -110,8 +113,6 @@ Kafka идёт чуть выше. Читается устойчивый разр `stg.hits_raw_rep` и `ods.event_errors_rep`, обе таблицы вернулись к нулю. - Сходимость: на живом потоке за двадцать пять минут медиана расхождения между рядами 3 %, худший столбец 11 % — на переломе потока, как и описано выше. - Отказы тоже по замеру: `increase` расходился сильнее, а накопленный итог - пропадал целиком, стоило окну начаться раньше экспортёра. - Свежесть реагирует на остановленный поток и возвращается. Через пять минут после конца модельного дня панель показала 305 с у событий и 288 с у заказов; стоило пустить следующий день, события вернулись к секунде.