docs(labs): упрощен язык учебных заданий
- Зачем: начинающим трудно читать задания из-за необъясненных терминов и неестественных формулировок. - Что: переработаны вводная и 21 задание, названы темы разделов, объяснены термины и сокращены повторы; согласованы правила учебного текста и ссылки. - Проверка: сохранены 25 блоков SQL и команд и таблицы состава колонок; проверены 153 локальные ссылки и 32 входящие ссылки на разделы; git diff --check прошел.
This commit is contained in:
1 parent
3c3eb825e1
commit
4693bc5af9
24 files changed
+782
-684
No files matched your search
+32
-28
@@ -1,9 +1,10 @@
|
||||
# Мониторинг: куда смотреть
|
||||
|
||||
**Чему учит:** начать расследование с подходящего экрана, найти источник
|
||||
нагрузки и объяснить свежесть данных через путь доставки.
|
||||
Вы познакомитесь с дашбордами мониторинга и проведете два расследования:
|
||||
найдете запросы, которые создают нагрузку, и выясните, почему события сайта
|
||||
и заказы обновляются с разной частотой.
|
||||
|
||||
## Перед началом
|
||||
## Знакомство с дашбордами
|
||||
|
||||
Откройте Grafana и Airflow по адресам из раздела [«Адреса и
|
||||
пароли»](../../README.md#адреса-и-пароли). Для первого знакомства в Grafana
|
||||
@@ -11,7 +12,7 @@
|
||||
|
||||
- «Данные» — путь сообщений от источника до хранилища;
|
||||
- «Кластер» — процессор, память, диски и внутренняя работа ClickHouse;
|
||||
- «Запросы» — выполненные запросы, их стоимость и ошибки.
|
||||
- «Запросы» — выполненные запросы, затраченные на них ресурсы и ошибки.
|
||||
|
||||
Откройте все три дашборда и запишите по одному вопросу, на который каждый из
|
||||
них помогает ответить. «Данные» оставьте открытым в соседней вкладке.
|
||||
@@ -19,7 +20,7 @@
|
||||
Проведите два расследования на работающем стенде. Службы останавливать и данные
|
||||
портить не понадобится.
|
||||
|
||||
## Расследование 1. Кто читает больше всех
|
||||
## Расследование 1. Какие запросы читают больше всего данных
|
||||
|
||||
Начните в спокойный момент: не запускайте одновременно свои тяжелые запросы.
|
||||
Откройте дашборд «Запросы». На панели «Тяжёлые запросы: что прочитало больше
|
||||
@@ -27,8 +28,8 @@
|
||||
|
||||
Сохраните:
|
||||
|
||||
- границы окна и время запроса;
|
||||
- место запроса в списке, пользователя и ноду;
|
||||
- начало и конец выбранного периода, время запроса;
|
||||
- место запроса в списке, пользователя и узел;
|
||||
- текст запроса;
|
||||
- длительность, память, число прочитанных и отданных строк.
|
||||
|
||||
@@ -44,22 +45,25 @@
|
||||
В меню панели «Кто спрашивает: сколько запросов и какой у них аппетит»
|
||||
откройте Inspect, затем Query. Ответьте на два вопроса:
|
||||
|
||||
1. Почему журнал читают сразу с обеих нод?
|
||||
2. Почему из счета исключены строки начала запроса и работа шардов?
|
||||
1. Почему журнал читают сразу с обоих узлов?
|
||||
2. Почему при подсчете запросов исключают записи о начале выполнения и
|
||||
записи о выполнении частей запроса на шардах?
|
||||
|
||||
Проверьте второе объяснение по панели ошибок: ее фильтр не исключает записи
|
||||
шардов. Объясните, почему различаются вопросы панелей, а не только их SQL.
|
||||
шардов. Объясните, на какие разные вопросы отвечают эти две панели
|
||||
и зачем им разные условия отбора.
|
||||
|
||||
## Расследование 2. Как меняется свежесть заказов
|
||||
|
||||
Откройте дашборд «Данные». Панель «Свежесть: сколько прошло с последней
|
||||
доехавшей строки» показывает текущее число, а не историю. До наблюдения
|
||||
нарисуйте ожидаемую форму свежести событий и заказов в течение одного живого
|
||||
дня. Отдельно отметьте момент доставки слепка заказов.
|
||||
доехавшей строки» показывает, сколько времени прошло с последней загрузки.
|
||||
Истории значений на ней нет. До наблюдения нарисуйте, как, по вашему ожиданию,
|
||||
будут меняться эти числа для событий и заказов в течение одного запуска
|
||||
`world_live_day`. Отдельно отметьте ожидаемый момент доставки слепка заказов.
|
||||
|
||||
Если `world_live` снят с паузы, наблюдайте его текущий или следующий
|
||||
`world_live_day`: новый ручной запуск встанет в очередь. Если выключатель на
|
||||
паузе и активного живого дня нет, запустите один `world_live_day` вручную.
|
||||
`world_live_day`: новый ручной запуск встанет в очередь. Если `world_live` на
|
||||
паузе и активного `world_live_day` нет, запустите один `world_live_day` вручную.
|
||||
Модельные сутки занимают около 24 реальных минут.
|
||||
|
||||
Запишите несколько наблюдений до конца дня и сразу после него:
|
||||
@@ -69,29 +73,29 @@
|
||||
| | | | |
|
||||
|
||||
Дашборд обновляется раз в минуту, поэтому точного совпадения момента
|
||||
доставки со строкой таблицы ждать не нужно. Рост и сброс свежести заказов
|
||||
перенесите на свой набросок. Объясните форму линии: какую метку времени
|
||||
доставки с записью наблюдения ждать не нужно. Перенесите рост и сброс
|
||||
показателя заказов на свой рисунок. Объясните форму линии: какую метку времени
|
||||
вычитает панель из текущего времени, почему число растет и какое событие его
|
||||
сбрасывает. Модельную дату сыгранного дня подпишите отдельно от реального
|
||||
сбрасывает. Модельную дату наблюдаемого дня подпишите отдельно от реального
|
||||
времени наблюдения.
|
||||
|
||||
Подтвердите сброс двумя следами:
|
||||
Подтвердите, что сброс совпал с загрузкой заказов:
|
||||
|
||||
- в Airflow завершился прием слепка `orders_ingest`;
|
||||
- на панели «Дневной слепок заказов: какой доехал, когда и после какой паузы»
|
||||
появилась новая верхняя строка.
|
||||
|
||||
Если вы начали после доставки, дождитесь следующего дня либо честно запишите,
|
||||
какую часть формы увидели. Одно текущее значение не доказывает ни рост, ни
|
||||
Если вы начали после доставки, дождитесь следующего дня либо запишите,
|
||||
какую часть изменений успели увидеть. Одно текущее значение не доказывает ни рост, ни
|
||||
сброс.
|
||||
|
||||
## Объясните путь данных
|
||||
## Источники показателей
|
||||
|
||||
Не открывая справочник, объясните своими словами:
|
||||
|
||||
- почему свежесть считают в ODS, а поток — в STG;
|
||||
- почему время с последней загрузки считают по ODS, а число поступивших сообщений по STG;
|
||||
- почему знаменатель доли брака берут из STG;
|
||||
- почему у числителя и знаменателя доли брака одно окно.
|
||||
- почему числитель и знаменатель доли брака берут за один период.
|
||||
|
||||
Свяжите ответы с тем, что вы видели на панелях. Затем сверьте объяснение с
|
||||
[главой о мониторинге](../handbook/monitoring.md) и справочниками дашбордов
|
||||
@@ -99,20 +103,20 @@
|
||||
[«Данные»](../architecture/monitoring/data.md). Устройство живого дня и
|
||||
доставки слепка описано в [главе об Airflow](../handbook/airflow-dags.md).
|
||||
|
||||
## Что должно получиться
|
||||
## Результат работы
|
||||
|
||||
- [ ] для каждого из трех дашбордов записан вопрос, на который он отвечает;
|
||||
- [ ] у вас сохранены окно, текст и показатели верхнего запроса;
|
||||
- [ ] у вас сохранены выбранный период, текст и показатели верхнего запроса;
|
||||
вы выяснили, кто его отправил и зачем;
|
||||
- [ ] вы нашли запрос открытых дашбордов, который прочитал больше всего
|
||||
строк, и панель, которая его отправила;
|
||||
- [ ] вы можете объяснить, зачем журнал собирают с двух нод и какие записи
|
||||
- [ ] вы можете объяснить, зачем журнал собирают с двух узлов и какие записи
|
||||
учитывают при подсчете запросов;
|
||||
- [ ] у вас есть прогноз свежести, сделанный до наблюдения, и несколько
|
||||
замеров; рост и сброс на рисунке объяснены через время последней доставки;
|
||||
- [ ] вы подтвердили доставку заказов в Airflow и на панели слепков,
|
||||
подписали модельную дату отдельно от реального времени наблюдений;
|
||||
- [ ] вы можете объяснить выбор слоев для свежести, потока и доли брака
|
||||
и почему числитель и знаменатель берут за одно окно;
|
||||
и почему числитель и знаменатель берут за один период;
|
||||
- [ ] после наблюдений службы продолжают работать, данные и стендовые
|
||||
дашборды остались без изменений.
|
||||
Reference in new issue
Block a user