docs(labs): упрощен язык учебных заданий

- Зачем: начинающим трудно читать задания из-за необъясненных терминов и неестественных формулировок.
- Что: переработаны вводная и 21 задание, названы темы разделов, объяснены термины и сокращены повторы; согласованы правила учебного текста и ссылки.
- Проверка: сохранены 25 блоков SQL и команд и таблицы состава колонок; проверены 153 локальные ссылки и 32 входящие ссылки на разделы; git diff --check прошел.
This commit is contained in:
ddadmin committed 2026-10-18 18:09:43 +02:00
1 parent 3c3eb825e1
commit 4693bc5af9
24 files changed
+782 -684

No files matched your search

+32 -28
View File
@@ -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 и на панели слепков,
подписали модельную дату отдельно от реального времени наблюдений;
- [ ] вы можете объяснить выбор слоев для свежести, потока и доли брака
и почему числитель и знаменатель берут за одно окно;
и почему числитель и знаменатель берут за один период;
- [ ] после наблюдений службы продолжают работать, данные и стендовые
дашборды остались без изменений.