feat(monitoring): подготовлена основа мониторинга Kafka и ClickHouse
- Зачем: - подготовлен пол мониторинга для SQL-панелей и метрик отставания Kafka. - Что: - добавлены отдельная роль ClickHouse, источник Grafana и Kafka exporter. - образ Grafana собирается с закреплённым плагином вне тома данных. - Prometheus, смоук и документация обновлены под четыре цели. - Проверка: - make config-test; make lint. - make smoke; make check-clickhouse; make check-services. - make -C generator lint typecheck test.
This commit is contained in:
1 parent
0bb07fd91d
commit
c5dd9c2d34
14 files changed
+326
-47
No files matched your search
@@ -33,18 +33,18 @@
|
||||
генератора: он отдельный пакет со своим `pyproject.toml`, локом и образом, и
|
||||
спрашивают его отдельно.
|
||||
|
||||
Стенд нужен трём целям из восьми. Цена — замер, см. «Что проверено»:
|
||||
`make test`, `make smoke`, `make check-clickhouse` и `make check-services`
|
||||
перемерены 7 августа 2026 года на приёмке этапа 2, корневой `make lint` —
|
||||
9 августа при его появлении; остальные стоят с замера 6 августа.
|
||||
Стенд нужен трём целям из восьми. Цена — замер, см. «Что проверено».
|
||||
`make smoke` и `make check-services` перемерены 21 августа 2026 года,
|
||||
`make check-clickhouse` — 19 августа, корневой `make lint` — 9 августа,
|
||||
`make test` — 7 августа; остальные стоят с замера 6 августа.
|
||||
|
||||
| Цель | Откуда | Что утверждает | Стенд | Цена |
|
||||
|---|---|---|---|---|
|
||||
| `make config-test` | корень | Compose разбирается, файлы DAG синтаксически целы, в diff нет пробельных ошибок. О работоспособности не говорит ничего | не нужен | 1 с |
|
||||
| `make lint` | корень | Код стенда — `dags/` и `infra/superset/` — отформатирован и проходит ruff | не нужен | 0,4 с |
|
||||
| `make smoke` | корень | Стенд **собран**: службы живы, порты отвечают, подключения настроены друг на друга. Вширь и по касательной к каждой службе. Единственная цель, которая здесь правда смоук | нужен | 9 с |
|
||||
| `make smoke` | корень | Стенд **собран**: службы живы, порты отвечают, подключения настроены друг на друга. Вширь и по касательной к каждой службе. Единственная цель, которая здесь правда смоук | нужен | 17 с |
|
||||
| `make check-clickhouse` | корень | Всё, что спрашивают **у ClickHouse** и он отвечает сам: макросы, шарды, реплики, путь в keeper, ключ шардирования, очередь распределённых DDL, ответ словаря товаров, счёт событий стартового мира против описи | нужен | 24 с |
|
||||
| `make check-services` | корень | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 59 с |
|
||||
| `make check-services` | корень | **Службы работают**: DAG запускается и доходит, топик создаётся и удаляется, Superset логинится и ходит в базу | нужен | 93 с |
|
||||
| `make lint` | `generator/` | Код генератора отформатирован и проходит ruff | не нужен | 0,4 с |
|
||||
| `make typecheck` | `generator/` | Типы генератора сходятся (ty) | не нужен | 0,5 с |
|
||||
| `make test` | `generator/` | Генератор делает то, что обещает; схема события остаётся объявленным контрактом, а собранные из кода [описание выгрузки](../formats/clickstream-event.md) и [опись мира](../../data/world-inventory.json) — свежими | не нужен | 71 с |
|
||||
@@ -209,7 +209,7 @@ Kafka → STG → ODS, и живёт он в `make check-clickhouse`.
|
||||
контейнер Docker поднимает сам, и проверка здоровья об этом промолчит
|
||||
(ADR 0004). Стенд нагружает `check-services`, а увидеть последствия нужно и
|
||||
тому, кто гонял один смоук. Это единственная проверка, которая считается
|
||||
дважды: 20 у смоука плюс 7 у `check-services` — это 26 разных проверок.
|
||||
дважды: 21 у смоука плюс 7 у `check-services` — это 27 разных проверок.
|
||||
- **Зависимости машины считает только смоук.** «На машине есть Docker, curl и
|
||||
jq» — вопрос к машине, а не к службам, и на оси он стоит рядом с «стенд
|
||||
собран». Для `check-services` это условие запуска: без них он не начнёт
|
||||
@@ -221,6 +221,12 @@ Kafka → STG → ODS, и живёт он в `make check-clickhouse`.
|
||||
|
||||
## Что проверено
|
||||
|
||||
**Перезамер 21 августа 2026 года при исполнении #114.** После добавления
|
||||
`kafka-exporter` и источника ClickHouse смоук прошёл 21/21 за 16–17 секунд,
|
||||
`check-services` — 7/7 за 93 секунды. При остановленном экспортёре смоук дал
|
||||
19/2: назвал нездоровый сервис и отсутствие одной из четырёх целей. После
|
||||
возврата сервиса прогон снова дал 21/21.
|
||||
|
||||
**Перезамер 20 августа 2026 года при исполнении #96.** `make up` после
|
||||
`make clean` прошёл за 8 м 18 с, повтор на живом стенде — за 3 м 35 с. Служба
|
||||
семи слепков заняла около 28 секунд между концом `world-init` и своим концом.
|
||||
|
||||
Reference in new issue
Block a user