89 lines
7.5 KiB
Markdown
89 lines
7.5 KiB
Markdown
# Знакомство с интерфейсом Airflow для начинающих
|
|
|
|
В предыдущих главах вы познакомились с основными понятиями Apache Airflow и поняли, из каких компонентов он состоит внутри. Теперь самое время открыть веб‑интерфейс — главный инструмент для ежедневной работы с пайплайнами.
|
|
|
|
Через UI вы будете:
|
|
|
|
- смотреть список DAG-ов и их статусы;
|
|
- запускать пайплайны вручную и останавливать их;
|
|
- разбираться, почему задачи упали, и перезапускать их;
|
|
- анализировать время выполнения и находить узкие места.
|
|
|
|
В этой главе мы сосредоточимся на ключевых экранах интерфейса Airflow 2.9.x и будем опираться на стенд из папки `airflow-docker` в этом репозитории.
|
|
|
|
## Главная страница: список DAG-ов (DAGs View)
|
|
|
|
После авторизации в Airflow вы попадаете на главную страницу — список всех DAG-ов. Это экран, откуда начинается почти любая работа.
|
|
|
|
Здесь полезно знать несколько ключевых колонок (названия — как в англоязычном UI):
|
|
|
|
- **DAG / DAG ID** — идентификатор пайплайна; клик по нему открывает страницу конкретного DAG-а.
|
|
- **Owner** — владелец пайплайна (на кого «вешать» вопросы и инциденты).
|
|
- **Schedule** — расписание запуска в виде cron-выражения или пресета.
|
|
- **Last Run / Next Run** — когда DAG запускался в последний раз и когда запустится по расписанию.
|
|
- **Recent Tasks** — короткая сводка по результатам последних запусков (сколько задач `success` / `failed` / `running` и т.п.).
|
|
- **Actions** — быстрые действия: переключатель **Pause / Unpause** (включить/выключить выполнение по расписанию), кнопка **Trigger DAG** (ручной запуск), ссылки на детальные представления: **Grid**, **Graph**, иногда **Code**.
|
|
|
|
На этом экране вы решаете простой вопрос:
|
|
«С моими DAG-ами всё более-менее нормально или где-то горит?»
|
|
|
|
## Страница DAG: главное рабочее место
|
|
|
|
Когда на главной странице (**DAGs View**) вы нажимаете на `DAG ID`, открывается страница конкретного пайплайна.
|
|
|
|
Верхняя часть страницы DAG:
|
|
|
|
* переключатель **Pause / Unpause**;
|
|
* кнопка **Trigger DAG** (ручной запуск);
|
|
* фильтр по дате, типу и состоянию запусков (**Run Type**, **Run State**, период по календарю);
|
|
* небольшой индикатор статусов задач (цветные ярлыки `running`, `failed`, `success` и т.п.).
|
|
|
|
> Для экспериментов удобно использовать стенд из папки `airflow-docker` в этом репозитории — там Airflow 2.9.2, и интерфейс будет выглядеть так же, как в учебнике.
|
|
|
|
Чуть ниже — горизонтальное меню вкладок:
|
|
|
|
* **Details**
|
|
Краткое резюме DAG: количество задач, типы операторов, расписание, теги, статистика по запускам. Это удобная точка входа: «что это за DAG и как он в целом живёт».
|
|
|
|
* **Graph**
|
|
Граф зависимостей задач. Здесь хорошо видно, какие задачи идут последовательно, какие — параллельно, где ветвления.
|
|
Клик по задаче открывает панель с действиями: **View Log**, **Clear**, **Mark Success / Mark Failed**, **Run** и др.
|
|
|
|
* **Gantt**
|
|
Диаграмма Ганта для выбранного запуска DAG. Показывает, сколько времени заняла каждая задача и где они выполнялись параллельно. По ней удобно искать «бутылочные горлышки» — самые долгие шаги пайплайна.
|
|
|
|
* **Run Duration**
|
|
История длительности запусков DAG. Помогает увидеть, не стали ли запуски в целом работать заметно дольше, и отследить, после какого изменения время выполнения выросло.
|
|
|
|
* **Calendar**
|
|
Календарный вид истории запусков: по дням и месяцам видно, когда DAG запускался и как часто были ошибки.
|
|
|
|
* **Code**
|
|
Исходный код DAG, который сейчас задеплоен в Airflow. Быстрый способ проверить, что в среде действительно лежит та версия DAG, которую вы ждёте (и что изменения из Git уже подхватились).
|
|
|
|
* **Audit Log**
|
|
Журнал действий по DAG: кто запускал, очищал задачи, менял состояние и т.д. Полезен, когда нужно понять, «кто и что нажал» перед тем, как всё сломалось.
|
|
|
|
### Как работать с задачами (Tasks)
|
|
|
|
Независимо от вкладки (чаще всего — **Graph** или **Gantt**), логика одна:
|
|
|
|
1. Находите нужную задачу.
|
|
2. Кликаете по ней — справа (или во всплывающем окне) появляется панель **Task Instance**.
|
|
3. В этой панели доступны:
|
|
|
|
* **View Log** — открыть логи;
|
|
* **Clear** — очистить состояние для повторного запуска;
|
|
* **Mark Success / Mark Failed** — вручную выставить статус;
|
|
* **Run** — запустить задачу сейчас.
|
|
|
|
Через дополнительные опции **Clear** можно захватывать **upstream** / **downstream** задачи и несколько запусков сразу — это основной инструмент «перезапуска кусочка» DAG.
|
|
|
|
Подробное описание всех экранов Airflow (с актуальными скриншотами) есть в официальной документации: [UI / Screenshots (Apache Airflow 2.9.3)][1].
|
|
|
|
Там же описаны **DAGs View**, **Grid View**, **Graph View**, **Gantt Chart**, **Task Duration**, **Landing Times**, **Code View**, **Audit Log** и другие разделы UI.
|
|
|
|
---
|
|
|
|
[1]: https://airflow.apache.org/docs/apache-airflow/2.9.3/ui.html "UI / Screenshots — Airflow Documentation"
|