- Зачем: начинающим трудно читать задания из-за необъясненных терминов и неестественных формулировок. - Что: переработаны вводная и 21 задание, названы темы разделов, объяснены термины и сокращены повторы; согласованы правила учебного текста и ссылки. - Проверка: сохранены 25 блоков SQL и команд и таблицы состава колонок; проверены 153 локальные ссылки и 32 входящие ссылки на разделы; git diff --check прошел.
123 lines
9.4 KiB
Markdown
123 lines
9.4 KiB
Markdown
# Мониторинг: куда смотреть
|
|
|
|
Вы познакомитесь с дашбордами мониторинга и проведете два расследования:
|
|
найдете запросы, которые создают нагрузку, и выясните, почему события сайта
|
|
и заказы обновляются с разной частотой.
|
|
|
|
## Знакомство с дашбордами
|
|
|
|
Откройте Grafana и Airflow по адресам из раздела [«Адреса и
|
|
пароли»](../../README.md#адреса-и-пароли). Для первого знакомства в Grafana
|
|
есть три дашборда:
|
|
|
|
- «Данные» — путь сообщений от источника до хранилища;
|
|
- «Кластер» — процессор, память, диски и внутренняя работа ClickHouse;
|
|
- «Запросы» — выполненные запросы, затраченные на них ресурсы и ошибки.
|
|
|
|
Откройте все три дашборда и запишите по одному вопросу, на который каждый из
|
|
них помогает ответить. «Данные» оставьте открытым в соседней вкладке.
|
|
|
|
Проведите два расследования на работающем стенде. Службы останавливать и данные
|
|
портить не понадобится.
|
|
|
|
## Расследование 1. Какие запросы читают больше всего данных
|
|
|
|
Начните в спокойный момент: не запускайте одновременно свои тяжелые запросы.
|
|
Откройте дашборд «Запросы». На панели «Тяжёлые запросы: что прочитало больше
|
|
всех» возьмите первую строку.
|
|
|
|
Сохраните:
|
|
|
|
- начало и конец выбранного периода, время запроса;
|
|
- место запроса в списке, пользователя и узел;
|
|
- текст запроса;
|
|
- длительность, память, число прочитанных и отданных строк.
|
|
|
|
По пользователю и тексту определите, кто отправил запрос и для чего. Затем
|
|
найдите запрос одного из трех открытых дашбордов, который прочитал больше всего
|
|
строк. Если это другая строка, сохраните для нее те же поля.
|
|
|
|
По тексту найдите панель, которая отправила запрос. Ищите ее среди трех
|
|
дашбордов по названиям колонок, таблиц и показателей. Запишите, зачем запрос
|
|
читает столько строк и согласуется ли это с вопросом, на который отвечает
|
|
панель.
|
|
|
|
В меню панели «Кто спрашивает: сколько запросов и какой у них аппетит»
|
|
откройте Inspect, затем Query. Ответьте на два вопроса:
|
|
|
|
1. Почему журнал читают сразу с обоих узлов?
|
|
2. Почему при подсчете запросов исключают записи о начале выполнения и
|
|
записи о выполнении частей запроса на шардах?
|
|
|
|
Проверьте второе объяснение по панели ошибок: ее фильтр не исключает записи
|
|
шардов. Объясните, на какие разные вопросы отвечают эти две панели
|
|
и зачем им разные условия отбора.
|
|
|
|
## Расследование 2. Как меняется свежесть заказов
|
|
|
|
Откройте дашборд «Данные». Панель «Свежесть: сколько прошло с последней
|
|
доехавшей строки» показывает, сколько времени прошло с последней загрузки.
|
|
Истории значений на ней нет. До наблюдения нарисуйте, как, по вашему ожиданию,
|
|
будут меняться эти числа для событий и заказов в течение одного запуска
|
|
`world_live_day`. Отдельно отметьте ожидаемый момент доставки слепка заказов.
|
|
|
|
Если `world_live` снят с паузы, наблюдайте его текущий или следующий
|
|
`world_live_day`: новый ручной запуск встанет в очередь. Если `world_live` на
|
|
паузе и активного `world_live_day` нет, запустите один `world_live_day` вручную.
|
|
Модельные сутки занимают около 24 реальных минут.
|
|
|
|
Запишите несколько наблюдений до конца дня и сразу после него:
|
|
|
|
| Реальное время | Свежесть событий, с | Свежесть заказов, с | Что происходило в Airflow |
|
|
|---|---:|---:|---|
|
|
| | | | |
|
|
|
|
Дашборд обновляется раз в минуту, поэтому точного совпадения момента
|
|
доставки с записью наблюдения ждать не нужно. Перенесите рост и сброс
|
|
показателя заказов на свой рисунок. Объясните форму линии: какую метку времени
|
|
вычитает панель из текущего времени, почему число растет и какое событие его
|
|
сбрасывает. Модельную дату наблюдаемого дня подпишите отдельно от реального
|
|
времени наблюдения.
|
|
|
|
Подтвердите, что сброс совпал с загрузкой заказов:
|
|
|
|
- в Airflow завершился прием слепка `orders_ingest`;
|
|
- на панели «Дневной слепок заказов: какой доехал, когда и после какой паузы»
|
|
появилась новая верхняя строка.
|
|
|
|
Если вы начали после доставки, дождитесь следующего дня либо запишите,
|
|
какую часть изменений успели увидеть. Одно текущее значение не доказывает ни рост, ни
|
|
сброс.
|
|
|
|
## Источники показателей
|
|
|
|
Не открывая справочник, объясните своими словами:
|
|
|
|
- почему время с последней загрузки считают по ODS, а число поступивших сообщений по STG;
|
|
- почему знаменатель доли брака берут из STG;
|
|
- почему числитель и знаменатель доли брака берут за один период.
|
|
|
|
Свяжите ответы с тем, что вы видели на панелях. Затем сверьте объяснение с
|
|
[главой о мониторинге](../handbook/monitoring.md) и справочниками дашбордов
|
|
[«Запросы»](../architecture/monitoring/queries.md) и
|
|
[«Данные»](../architecture/monitoring/data.md). Устройство живого дня и
|
|
доставки слепка описано в [главе об Airflow](../handbook/airflow-dags.md).
|
|
|
|
## Результат работы
|
|
|
|
- [ ] для каждого из трех дашбордов записан вопрос, на который он отвечает;
|
|
- [ ] у вас сохранены выбранный период, текст и показатели верхнего запроса;
|
|
вы выяснили, кто его отправил и зачем;
|
|
- [ ] вы нашли запрос открытых дашбордов, который прочитал больше всего
|
|
строк, и панель, которая его отправила;
|
|
- [ ] вы можете объяснить, зачем журнал собирают с двух узлов и какие записи
|
|
учитывают при подсчете запросов;
|
|
- [ ] у вас есть прогноз свежести, сделанный до наблюдения, и несколько
|
|
замеров; рост и сброс на рисунке объяснены через время последней доставки;
|
|
- [ ] вы подтвердили доставку заказов в Airflow и на панели слепков,
|
|
подписали модельную дату отдельно от реального времени наблюдений;
|
|
- [ ] вы можете объяснить выбор слоев для свежести, потока и доли брака
|
|
и почему числитель и знаменатель берут за один период;
|
|
- [ ] после наблюдений службы продолжают работать, данные и стендовые
|
|
дашборды остались без изменений.
|