Зачем: начинающим ученикам трудно читать главы без пояснений терминов и ожидаемого результата примеров. Что: уточнены заголовки и объяснения в пяти главах и вводной, добавлена сверка графика с SQL, обновлены ссылки из заданий и документации генератора. Проверка: SQL и команды сохранены, локальные ссылки проверены; git diff --check пройден. Ревью смысла Sol 6.1 high замечаний не выявило, новые пояснения дополнительно сверены с кодом и настройками.
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».