Files
clickstream-data-platform/docs/architecture/monitoring
ddadmin ee0306d19e docs(monitoring): убраны повтор заголовков, запрет и двойной довод
- Зачем:
  - таблица панелей дублировала заголовки из data.json и уже правилась
    дважды; заголовок раздела называл запрещённое действие вместо нужного;
    довод про отвергнутые способы счёта сходимости стоял в двух местах.
- Что:
  - в таблице панелей остались только источники, вопрос панели читается с её
    заголовка на экране.
  - раздел про чтецов Kafka назван по тому, что панели делают, опасность
    kafka_commit_on_select осталась внутри как причина.
  - из записи о приёмке убран пересказ довода, замер оставлен.
- Проверка:
  - make config-test; make lint.
2026-08-21 14:01:32 -04:00
..

Мониторинг: из чего собран и что скребёт

Набор описывает зону мониторинга: какие сервисы в неё входят, что собирает Prometheus, какие источники данных подготовлены в Grafana, каким пользователем она ходит в ClickHouse и куда кладутся дашборды. Устройство каждого дашборда — отдельным файлом, указатели ниже. Зачем зоне именно такой состав и какие дашборды на нём задуманы — ADR 0002; устройство доступа — ADR 0007.

Что здесь есть и чего ещё нет. Собран пол: свой образ Grafana с плагином ClickHouse, два подготовленных источника данных, экспортёр метрик Kafka и цель для него у Prometheus. Поверх пола стоит главный дашборд — «Данные»; «Кластер» и «Запросы» приносят отдельные тикеты. Правил оповещения и серверного журнала system.text_log тоже пока нет.

Состав

Сервис Образ Что делает
prometheus prom/prometheus:v3.13.2 опрашивает цели раз в 15 секунд, порт стенда 29090
grafana clickstream-grafana:local интерфейс мониторинга; собирается из infra/grafana/, порт стенда 23000
kafka-exporter danielqsj/kafka-exporter:v1.9.0 переводит состояние брокера в метрики Prometheus, порт 9308

Плагин ClickHouse 4.20.0 входит в образ Grafana. Фоновая установка плагинов при запуске отключена.

Что скребёт Prometheus

Цель Задание Метка role Откуда метрики
clickhouse-01:9363 clickhouse server встроенный экспортёр ноды
clickhouse-02:9363 clickhouse server встроенный экспортёр ноды
clickhouse-keeper:9363 clickhouse-keeper keeper встроенный экспортёр keeper
kafka-exporter:9308 kafka exporter внешний экспортёр

Ровно эти четыре цели пересчитывает check_prometheus_targets в scripts/stand-smoke.sh — и по значению up, и по списку адресов. Пятая цель красит смоук; это и есть способ заметить, что состав пола поменяли молча.

Источники данных Grafana

Оба источника подготовлены файлами в infra/grafana/provisioning/datasources/ и объявлены editable: false: править их через интерфейс нельзя, источник истины — репозиторий.

  • prometheus — основной по умолчанию, ходит на http://prometheus:9090.
  • clickhouse — плагин grafana-clickhouse-datasource, нативный протокол, clickhouse-01:9000, пользователь grafana, пароль из .env.

Источник ClickHouse смотрит на clickhouse-01. Системные таблицы обеих нод панели читают через clusterAllReplicas, как принято в ADR 0002.

Доступ к ClickHouse

Grafana ходит пользователем grafana с ролью monitoring_reader: читает слои, таблицы базы dic и системные таблицы. REMOTE разрешает clusterAllReplicas, CLUSTER — запросы ON CLUSTER. Решение о своей роли записано в ADR 0007. Пароль задаётся переменной CLICKHOUSE_GRAFANA_PASSWORD.

Дашборды

Каталог infra/grafana/provisioning/dashboards/ смонтирован в контейнер и объявлен провайдером в provider.yml: Grafana подхватывает оттуда файлы дашбордов, удалять и править их через интерфейс запрещено. Новый дашборд — это новый файл в каталоге и больше ничего: в compose.yaml заходить не нужно, ради этого каталог и заведён заранее.

Файлы каталога разбирает make config-test, рядом с файлами дагов и по тому же доводу (testing.md).

Собран один:

  • «Данные» (data.json) — с потоком всё в порядке: свежесть, поток, брак, сходимость Kafka с ClickHouse, отставание чтения и дневной слепок заказов. Устройство и разбор панелей — data.md.

Что проверено

Права роли monitoring_reader сверены 21 августа 2026 года по документации ClickHouse через MCP Context7; разбор — в ADR 0007, раздел «Что проверено».

Сам состав проверен на живом стенде 21 августа 2026 года, собранном заново после make clean.

  • Grafana видит плагин grafana-clickhouse-datasource 4.20.0 (/api/plugins?type=datasource), оба подготовленных источника здоровы.
  • Запрос источника ClickHouse к system.one через clusterAllReplicas вернул 2 — с одной ноды видны обе.
  • Prometheus видит ровно четыре цели, все со значением up = 1; запрос kafka_consumergroup_lag вернул ряды по группам clickstream_*.
  • make smoke 21/21, make check-clickhouse 10/10, make check-services 7/7.