Обзор UI в Airflow

По умолчанию Airflow предоставляет два вида пользовательского Web-интерфейса:

  • Airflow Web UI. Данный интерфейс позволяет контролировать управляющие графы (DAGs) и задачи (tasks), отслеживать выполнение задач, настраивать параметры базы метаданных (например, соединение с внешними источниками) и выполнять другие операции.

  • Flower. Это отдельный инструмент для наблюдения за кластерами Celery и управления ими.

Адреса веб-интерфейсов Airflow2
Интерфейс URL Документация

Airflow Web UI

http://<Airflow Server IP>:8080

Link

Flower

http://<Airflow Server IP>:5555

Link

При настроенном SSL-сертификате используйте https:// вместо http://.

Ссылки на оба веб-интерфейса доступны на вкладке Info на странице сервиса в ADCM.

Ссылки на веб-интерфейсы сервиса Airflow2 в ADCM
Ссылки на веб-интерфейсы сервиса Airflow2 в ADCM

Airflow UI

DAGs

Страница DAGs — это домашняя страница пользовательского интерфейса Airflow. На ней отображается список пайплайнов данных (data pipeline). В этом списке содержится информация о пайплайнах, элементы управления ими и ссылки на полезные страницы:

  • DAG — уникальное имя идентификатора DAG. Чтобы приостановить работу DAG, используйте переключатель напротив его имени. При нажатии на имя, откроется страница этого DAG.

  • Owner — владелец DAG, как указано в коде. При нажатии на имя владельца список будет отфильтрован так, чтобы показывались только те DAG, которые принадлежат этому владельцу.

  • Runs — статусы всех предыдущих запусков этого DAG: поставлен в очередь (queued), успешен (success), выполняется (running), сбой (failed).

  • Schedule — указывает, как часто запускается DAG. Он может запускаться вручную или по расписанию.

  • Last Run — дата и время последнего запуска DAG. При нажатии на дату откроется страница этого DAG.

  • Next Run — дата и время следующего запуска DAG. Для групп DAG, запущенных набором данных (dataset), отображается число обновлений с момента последнего запуска DAG.

  • Recent Tasks — статусы текущего или последнего запуска DAG.

  • Action — с помощью действий можно повторить последний запуск DAG, запустить его с определенной конфигурацией или удалить. Действие удаления не удаляет сам DAG, а только связанные с ним метаданные.

  • Links — в меню доступны ссылки на определенные вкладки страницы DAG.

Airflow UI: домашняя страница
Airflow UI: домашняя страница
Airflow UI: домашняя страница
Airflow UI: домашняя страница

Также вы можете фильтровать список DAG по тегу или использовать поиск.

На странице DAG доступно несколько представлений информации:

  • Grid — диаграмма запусков DAG по продолжительности, статусу задач (task) и общая информация о запусках. Задачи представлены в виде квадратов, а DAG — в виде столбцов. Чтобы увидеть информацию по конкретной задаче, нажмите на соответствующий квадрат. Там же доступна информация о Xcom, логах и действиях, связанных с этой задачей.

  • Graph — график задач с информацией о запусках.

  • Calendar — календарь запущенных и запланированных DAG. Каждая дата функционирует как индикатор успешности запусков DAG в этот день.

  • Task Duration — график выполнения каждой задачи.

  • Task Tries — график попыток запуска каждой задачи.

  • Landing Times — график фактического времени выполнения каждой задачи по сравнению с запланированным.

  • Gantt — диаграмма Ганта для запланированного и фактического времени выполнения задач.

  • Details — подробная информация о конкретном DAG.

  • Code — код самого DAG.

  • Audit Log — в представлении отображаются выбранные события и операции, выполненные в этот день. Вы можете выбрать, какие события включать в лог в конфигурации Airflow.

Airflow UI: страница DAG
Airflow UI: страница DAG
Airflow UI: страница DAG
Airflow UI: страница DAG

Datasets

На странице Datasets отображается список существующих наборов данных и графическое представление связей между наборами данных и группами DAG. При нажатии на набор данных в списке или на графике будут подсвечены все его связи.

На странице предусмотрена возможность фильтровать список для отображения недавней истории и поиска определенного набора данных.

Airflow UI: страница Datasets
Airflow UI: страница Datasets
Airflow UI: страница Datasets
Airflow UI: страница Datasets

Security

Меню Security обеспечивает доступ к информации о пользователе, ролях, настройках безопасности и предоставляет возможность управлять ими.

List Users

 
На странице List Users отображается список пользователей Airflow. Каждый пользователь имеет следующие характеристики: имя, фамилия, имя пользователя, адрес электронной почты, статус и роль.

Вы можете просмотреть, отредактировать или удалить конкретного пользователя, выбрав соответствующее действие напротив его имени.

Чтобы добавить пользователя, нажмите + и введите информацию о пользователе.

Airflow UI: страница List Users
Airflow UI: страница List Users
Airflow UI: страница List Users
Airflow UI: страница List Users
List Roles

 
На странице List Roles отображается список ролей пользователя. Каждая роль имеет название и список разрешений, привязанных к этой роли.

Вы можете просмотреть, отредактировать или удалить роль, выбрав соответствующее действие напротив ее имени.

Чтобы добавить роль, нажмите + и введите имя роли и ее разрешения.

Airflow UI: страница List Roles
Airflow UI: страница List Roles
Airflow UI: страница List Roles
Airflow UI: страница List Roles
User’s statistics

 
На странице User’s statistics отображается диаграмма количества входов пользователей. Чтобы показать количество неудачных попыток входа в систему, выберите фильтр Failed Login Count.

Actions, Resources, Permissions

 

  • Actions — на странице отображается список действий, которые можно предоставить пользователю.

  • Resources — на странице отображается список ресурсов, к которым может быть предоставлен доступ.

  • Permissions — на странице отображается список разрешений, которые можно предоставить для определенного ресурса.

Browse

Меню Browse содержит набор страниц со списками, которые позволяют просматривать статистику по нескольким объектам одновременно и управлять ими.

DAG Runs

 
На странице DAG Runs отображается список всех запусков DAG.

Вы можете управлять несколькими DAG одновременно, отметив нужные запуски DAG и выбрав для них общее действие.

Ссылки в столбцах Dag Id и Run Id открывают страницу этого DAG.

Airflow UI: страница DAG Runs
Airflow UI: страница DAG Runs
Airflow UI: страница DAG Runs
Airflow UI: страница DAG Runs
Jobs

 
На странице Jobs отображается список всех заданий с информацией об их DAG, текущем статусе, датах начала и окончания, последнем heartbeat, executor class, имени хоста и unixname.

Airflow UI: страница Jobs
Airflow UI: страница Jobs
Airflow UI: страница Jobs
Airflow UI: страница Jobs
Audit Logs

 
В Airflow логи аудита используются для отслеживания действий пользователей и системных событий, происходящих во время выполнения DAG.

Страница Audit Logs предоставляет информацию о событиях, инициированных запусками DAG или пользователями.

Airflow UI: страница Audit Logs
Airflow UI: страница Audit Logs
Airflow UI: страница Audit Logs
Airflow UI: страница Audit Logs
Task Instances и Task Reschedules

 
Страница Task Instances предоставляет информацию о каждой задаче: DAG, к которому они принадлежат, время начала выполнения и окончания и многое другое.

Вы можете управлять несколькими задачами одновременно, выделив нужные задачи и выбрав для них общее действие.

Нажав Dag Id, Task Id или Run Id конкретной задачи, можно перейти на страницу DAG, к которому принадлежит задача.

На странице Task Reschedules отображается список задач, время выполнения которых было перенесено, и информация о них.

Airflow UI: страница Task Instances
Airflow UI: страница Task Instances
Airflow UI: страница Task Instances
Airflow UI: страница Task Instances
Triggers

 
На странице Triggers отображается список существующих триггеров.

Более подробно о триггерах читайте в документации Airflow.

SLA Misses

 
Соглашение об уровне обслуживания или SLA — это ожидаемое максимальное время, в течение которого задача должна быть выполнена относительно времени старта DAG.

Если выполнение задачи занимает больше времени, это отображается на странице SLA Misses.

Более подробно об SLA читайте в документации Airflow.

DAG Dependencies

 
На странице DAG Dependencies показан график связей между разными DAG, триггерами, сенсорами (sensors) и наборами данных.

Airflow UI: страница DAG Dependencies
Airflow UI: страница DAG Dependencies
Airflow UI: страница DAG Dependencies
Airflow UI: страница DAG Dependencies

Admin

Меню Admin предоставляет действия по управлению ресурсами и информацию о конфигурации Airflow.

Variables

 
Переменная в Airflow — это пара ключ/значение, которая содержит строку. Страница Variables позволяет создавать переменные, которые можно использовать в DAG и в коде задач.

По умолчанию значение переменной будет скрыто, если ключ содержит следующие слова: password, secret, passwd, authorization, api_key, apikey, access_token. Вы можете изменить настройки по умолчанию, чтобы переменная отображала пароли и токены.

Чтобы добавить одну переменную, нажмите + и введите ключ/значение переменной.

Чтобы загрузить несколько переменных одновременно, нажмите Choose file, загрузите файл с переменными и нажмите Import Variables.

Airflow UI: страница Variables
Airflow UI: страница Variables
Airflow UI: страница Variables
Airflow UI: страница Variables
Configurations

 
На странице может отображаться таблица с конфигурацией инстанса Airflow. По умолчанию страница пустая.

Connections

 
Соединения (connections) позволяют интегрировать Airflow с другими сервисами. На этой странице отображается список созданных соединений.

Для создания соединения нажмите + и введите параметры подключения. После сохранения информации о соединении его можно проверить, нажав Test.

Airflow UI: страница Connections
Airflow UI: страница Connections
Airflow UI: страница Connections
Airflow UI: страница Connections
Plugins

 
На этой странице представлен список доступных плагинов. Чтобы добавить плагин, сначала необходимо добавить соединение.

Airflow UI: страница Plugins
Airflow UI: страница Plugins
Airflow UI: страница Plugins
Airflow UI: страница Plugins
Providers

 
На этой странице отображаются доступные провайдеры (providers) для интеграции с другими сервисами.

Нажав на имя провайдера, можно перейти на страницу документации Airflow этого провайдера. Ссылки в столбце Description ведут на официальные страницы сервисов.

Airflow UI: страница Providers
Airflow UI: страница Providers
Airflow UI: страница Providers
Airflow UI: страница Providers
Pools

 
На этой странице отображается список существующих пулов (pools). В Airflow пулы позволяют ограничить параллелизм набора задач. По умолчанию все задачи выполняются через пул default_pool.

Каждый пул имеет следующие параметры:

  • Pool — имя пула. Нажав на имя пула, можно перейти к списку задач, принадлежащих этому пулу.

  • Slots — количество задач, которые может содержать пул.

  • Running Slots — количество занятых слотов в пуле. Нажав на количество слотов, можно перейти к списку задач, занимающих эти слоты.

  • Queued Slots — количество зарезервированных слотов для задач в очереди. Нажав на количество слотов, можно перейти к списку задач, занимающих эти слоты.

  • Scheduled Slots — количество слотов, необходимое для запланированных задач. Нажав на количество слотов, можно перейти к списку задач, занимающих эти слоты.

Чтобы создать пул, нажмите + и введите параметры пула.

Вы можете редактировать или удалить пул, выбрав соответствующее действие напротив имени пула.

Airflow UI: страница Pools
Airflow UI: страница Pools
Airflow UI: страница Pools
Airflow UI: страница Pools
XComs

 
В Airflow XCom — это инструмент, который позволяет обмениваться данными между задачами. На этой странице отображается список доступных XCom.

Airflow UI: страница XComs
Airflow UI: страница XComs
Airflow UI: страница XComs
Airflow UI: страница XComs

Docs

Меню Docs содержит ссылки на следующие ресурсы:

  • Documentation — официальная документация Airflow.

  • Airflow Website — официальный сайт Airflow.

  • GitHub Repo — репозиторий проекта Airflow на GitHub.

  • REST API Reference (Swagger UI) — описание методов REST API в формате Swagger.

  • REST API Reference (Redoc) — описание методов REST API в формате Redoc.

Flower UI

Flower — это инструмент с веб-интерфейсом для мониторинга и администрирования кластеров Celery. В веб-интерфейсе Flower есть четыре вкладки:

  • Workers — страница со списком существующих Celery workers и информация о них.

  • Tasks — страница со списком задач с указанием информации о них: их worker, UUID, состояние, args/kwargs, время старта и продолжительность выполнения.

  • Broker — на странице отображается информация о брокерах Celery.

  • Documentation — вкладка перенаправляет на официальную документацию Flower.

Домашняя страница Flower
Домашняя страница Flower
Домашняя страница Flower
Домашняя страница Flower

Дополнительную информацию о компонентах Flower можно получить в документации Flower.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней