Files
ddadmin 453a1d6ddf docs(handbook): упрощен язык путеводителя
Зачем: начинающим ученикам трудно читать главы без пояснений терминов
и ожидаемого результата примеров.

Что: уточнены заголовки и объяснения в пяти главах и вводной, добавлена
сверка графика с SQL, обновлены ссылки из заданий и документации генератора.

Проверка: SQL и команды сохранены, локальные ссылки проверены;
git diff --check пройден. Ревью смысла Sol 6.1 high замечаний не выявило,
новые пояснения дополнительно сверены с кодом и настройками.
2026-10-18 19:59:21 +02:00

6.6 KiB

Мониторинг в Grafana

В Grafana настроены три дашборда — экрана с показателями и графиками. «Данные» показывает загрузку и обработку событий и заказов, «Кластер» — состояние узлов и самого ClickHouse, а «Запросы» — выполненные запросы и затраченные на них ресурсы.

На панелях не заданы пороги для цветовых предупреждений: оценивать показания вы будете самостоятельно. Качество данных автоматически проверяет даг dq_check.

Дашборд «Данные»

«Свежесть» показывает, сколько реального времени прошло с поступления последних успешно разобранных событий и заказов. Время поступления хранится в колонке _load_ts слоя ODS. Показатель для заказов растет весь модельный день и снижается, когда поступает очередная дневная выгрузка — слепок. Это ожидаемо: заказы загружаются раз в день.

«Поток» показывает число сырых сообщений в STG за выбранный интервал. «Брак» показывает долю строк, которые не удалось разобрать.

«Сходимость» сравнивает число событий в Kafka и в ClickHouse. Тревожный признак — устойчивый разрыв между рядами. Разовое расхождение еще не говорит о потере данных: метрики Kafka и строки ClickHouse могут попадать в соседние интервалы на графике.

«Отставание» показывает, сколько сообщений в Kafka еще не прочитано потребителями. «Дневной слепок» перечисляет последние десять слепков заказов в STG: по нему видно, поступила ли очередная выгрузка.

Источники и правила чтения всех панелей разобраны в справочнике дашборда «Данные».

Источники показателей

Grafana получает данные напрямую из ClickHouse и через Prometheus. Prometheus собирает метрики с двух узлов ClickHouse, ClickHouse Keeper и экспортера Kafka — службы, которая предоставляет метрики Kafka.

Свежесть считается по ODS: если новые сообщения перестали разбираться, показатель будет расти. Число поступивших сообщений берется из STG, где сохраняются все сообщения, включая повторы. Для доли брака это число сравнивается с числом строк в таблицах ошибок ODS.

В основных таблицах ODS повторы событий и старые версии заказов удаляются при слияниях. Поэтому число строк в них не подходит для подсчета всех доставленных сообщений. Подробности — в разделе о слоях панелей.

Состояние кластера и запросы

Открывайте «Кластер», чтобы проверить нагрузку на процессор, использование памяти и дисков, число частей таблиц и ход их слияний в ClickHouse. Здесь же показаны состояние ClickHouse Keeper и очередь распределенных DDL-команд. Устройство панелей описано в справочнике дашборда «Кластер».

«Запросы» поможет найти медленные запросы, ошибки и пользователей, чьи запросы потребляют много ресурсов. Как читать панели, объясняет справочник дашборда «Запросы».

Показатели за один модельный день

Откройте Grafana по адресу из раздела «Адреса и пароли», затем дашборд «Данные». Запустите в Airflow world_live_day: модельный день займет около двадцати четырех минут.

Смотрите свежесть событий и свежесть заказов по отдельности. Пока день идет, со времени последнего события проходят секунды, а время с последней загрузки заказов растет. После завершения генерации событий отправляется слепок заказов. Когда он загружен, показатель свежести заказов снижается. Показатель для событий начинает расти: новые события поступят только при генерации следующего дня. Даг пока продолжает работу, ожидая завершения обработки данных в дневном конвейере.

Следующая глава и справочники

Устройство мониторинга описано в техническом справочнике, панели дашборда «Данные» — в отдельном разделе. Почему выбраны именно эти показатели, объясняет ADR 0002. Следующая глава — «Отчеты в Superset».