Перейти к содержимому

Панель управления Airflow

Описание

Панель управления Airflow - встроенный инструмент Puzzle RPA, который связывает открытый проект с процессом (DAG) на сервере оркестратора Airflow и позволяет работать с оркестратором из студии:

  • хранить несколько подключений к серверам Airflow и переключаться между ними;
  • публиковать DAG-файл и Python-скрипты робота на сервер, хранить версии опубликованных файлов и восстанавливать предыдущие версии;
  • запускать связанный DAG вручную (в том числе с параметрами запуска) и снимать его с паузы;
  • просматривать сведения о DAG, статистику запусков и логи выполнения;
  • открывать веб-интерфейс Airflow во встроенном окне.

Чтобы открыть Панель управления Airflow, требуется кликнуть по кнопке, расположенной в Области кнопок взаимодействия с процессом:

image_1

Внешний вид

Окно панели называется Оркестрация Airflow.

image_2

Окно панели разделено на две области:

  • 1 - Подключения - боковая панель со списком сохранённых подключений к серверам Airflow. Панель можно свернуть кнопкой Свернуть и развернуть кнопкой Развернуть;
  • 2 - Рабочая область - вкладки DAG, Логи, Airflow UI и Файлы, содержимое которых относится к выбранному подключению и открытому проекту.

Подключения

Добавление подключения

  1. Выполнить клик по кнопке Добавить подключение в верхней части боковой панели;
  2. В окне Подключение к Airflow заполнить поля:
    • Хост - адрес сервера Airflow (обязательное поле);
    • Логин и Пароль - учётные данные пользователя Airflow;
    • Токен - токен доступа для Airflow 3 с авторизацией по токену. Если поле пустое, токен запрашивается по логину и паролю;
    • Отключить проверку SSL - снимает проверку TLS-сертификата при обращении к серверу по HTTPS. Использовать только при осознанном риске;
    image_3
  3. Выполнить клик по кнопке Проверить соединение. При успешной проверке в окне отображаются Версия сервера и Права пользователя - доступ к DAG, запускам, переменным, подключениям и пулам (да/нет): image_12
  4. Выполнить клик по кнопке Сохранить.

Управление подключениями

Клик по подключению в списке делает его активным: данные вкладок загружаются для этого сервера. При переключении на другое подключение панель запрашивает подтверждение - текущие данные DAG и логи будут сброшены.

Меню подключения содержит действия:

  • Скопировать хост - копирует адрес сервера в буфер обмена;
  • Редактировать - открывает окно Редактирование подключения;
  • Удалить - удаляет подключение после подтверждения.

Вкладка DAG

Вкладка связывает открытый проект с процессом (DAG) на сервере и показывает сведения о нём.

image_4

Связь проекта с DAG

  1. Выполнить клик по кнопке Выбрать DAG-файл и указать Python-файл DAG на диске - он создаётся при сохранении процесса с блоком Создать процесс (Dag) как Python-скрипт;
  2. Поле ID дага заполняется автоматически из выбранного файла. Если прочитать dag_id из файла не удалось, идентификатор требуется ввести вручную;
  3. Выполнить клик по кнопке Сохранить связь. Связь хранится в проекте и восстанавливается при следующем открытии панели.

Клик по полю Путь до DAG-файла копирует путь в буфер обмена.

Сведения о DAG и статистика

После сохранения связи в таблице отображаются:

  • ID дага
  • Последняя версия,
  • Описание
  • Расположение на сервере
  • Состояние (активен / на паузе)
  • Одновременный запуск
  • Дата публикации
  • Владельцы
  • Теги.

Ниже выводится Статистика запусков - количество запусков в состояниях Успешные, Проваленные, В работе и В очереди.

Запуск DAG

Кнопка Запустить открывает окно Единичный запуск: DAG запускается один раз, вне расписания.

В поле Параметры запуска (JSON) можно передать параметры запуска в формате JSON:

image_5

Публикация файлов

Кнопки Опубликовать DAG и Опубликовать скрипты открывают окно загрузки файлов на сервер:

  1. В поле Файлы выбрать файлы (Выбрать файлы) или папку (Выбрать папку) - при выборе папки загружаются все подходящие файлы из неё;
  2. При необходимости указать Подпапку внутри целевой папки на сервере (пусто - корень папки) и абсолютный путь к папке dags / папке scripts на сервере (пусто - папка из конфигурации Airflow);
  3. Заполнить поле Комментарий - описание изменений сохраняется вместе с версией файла;
  4. Выполнить клик по кнопке Загрузить.
image_6

Меню «Открыть в Airflow»

Кнопка Открыть в Airflow открывает во вкладке Airflow UI нужную страницу веб-интерфейса: Открыть DAG в Airflow, Переменные, Подключения или Последний запуск связанного DAG.

image_10

Вкладка Логи

Вкладка отображает логи выполнения связанного DAG.

image_7
  • В выпадающем списке Запуск DAG выбирается конкретный запуск (с датой и состоянием - success, failed, running), для которого требуется получить логи; image_11
  • Получить логи - загружает логи выбранного запуска (для каждой задачи и попытки выполнения);
  • Сохранить в файл - сохраняет загруженные логи в файл на диске;
  • Логи - открывает страницу логов выбранного запуска во вкладке Airflow UI.

В окне просмотра логов доступны поиск по тексту и переключение цветовой темы.


Вкладка Airflow UI

Во вкладке открывается веб-интерфейс сервера Airflow. Панель инструментов содержит кнопки:

  • Вернуться назад;
  • Перейти вперёд;
  • Обновить страницу;
  • Увеличить масштаб; -Уменьшить масштаб.
image_8

Вкладка Файлы

Вкладка показывает файлы и их версии на сервере Airflow.

image_9
  • Переключатель DAG-и / Скрипты выбирает папку на сервере;
  • Поле Поиск фильтрует список по имени файла, кнопка Обновить перечитывает список с сервера;
  • Клик по файлу раскрывает таблицу его версий со столбцами ID версии, Размер, Загружена и Комментарий;
  • Кнопка Восстановить возвращает выбранную версию файла;
  • Меню Скопировать копирует Абсолютный путь, Относительный путь, Имя файла или Путь на хосте, например, для указания расположения робота в блоке Запустить Робота.

Пример использования

В данном примере робот Robot Puzzle RPA публикуется на сервер Airflow 3 и запускается вручную из студии. Проект робота состоит из двух процессов: главного процесса robot_puzzle_rpa с действиями робота и процесса main с блоком Создать процесс (Dag).

Шаг 1 - сохранение робота как Python-скрипта

Процесс робота сохраняется как Python-скрипт: он будет выполняться на машине, которой управляет оркестратор.

Шаг 2 - публикация скрипта робота на сервер

  1. Открыть Панель управления Airflow и выбрать подключение к серверу (в примере - http://localhost:8080);
  2. Во вкладке DAG выполнить клик по кнопке Опубликовать скрипты;
  3. В окне Загрузка скриптов выбрать сохранённый файл robot_puzzle_rpa.py, при необходимости указать Подпапку и заполнить Комментарий - он сохранится вместе с версией файла;
  4. Выполнить клик по кнопке Загрузить. image_13

Результат публикации проверяется во вкладке Файлы в режиме Скрипты: файл появляется в списке Файлы в папке scripts, а клик по нему раскрывает таблицу версий с комментарием загрузки.

image_14

Шаг 3 - копирование пути к роботу на сервере

Путь к опубликованному скрипту потребуется блоку Запустить Робота. Чтобы не набирать его вручную, требуется выполнить клик по кнопке Скопировать в строке файла и выбрать пункт Абсолютный путь - в буфер обмена попадёт путь вида /opt/airflow/scripts/robot_puzzle_rpa.py.

image_15

Шаг 4 - создание процесса (DAG)

В отдельном процессе проекта собирается блок Создать процесс (Dag): задаётся версия оркестратора Airflow 3, наименование robot-puzzle-rpa, расписание, имя пула и аргументы по умолчанию.

image_16

В разъём Роботы помещается блок Запустить Робота, где в параметр Путь к роботу на сервере вставляется скопированный абсолютный путь, а в параметр Название главного процесса - имя файла робота.

image_17

Шаг 5 - публикация DAG-файла

  1. Сохранить процесс с блоком Создать процесс (Dag) как Python-скрипт - получится DAG-файл robot_puzzle_rpa.py;
  2. Во вкладке DAG выполнить клик по кнопке Опубликовать DAG;
  3. В окне Загрузка DAG выбрать полученный файл, заполнить Комментарий и выполнить клик по кнопке Загрузить. image_6

Шаг 6 - связь проекта с DAG

  1. Во вкладке DAG выполнить клик по кнопке Выбрать DAG-файл и указать сохранённый DAG-файл на диске;
  2. Убедиться, что поле ID дага заполнилось значением robot-puzzle-rpa - оно должно совпадать с параметром Наименование блока Создать процесс (Dag);
  3. Выполнить клик по кнопке Сохранить связь, затем - по кнопке Обновить.

В таблице появляются сведения о процессе: последняя версия v1, описание, расположение на сервере /opt/airflow/dags/robot_puzzle_rpa.py, состояние и дата публикации, а ниже - статистика запусков.

image_4

Шаг 7 - запуск и проверка результата

  1. Выполнить клик по кнопке Запустить и подтвердить единичный запуск в окне Единичный запуск. Если DAG находится на паузе, кнопка называется Возобновить и сначала снимает процесс с паузы; image_5
  2. Выполнить клик по кнопке Обновить - в блоке Статистика запусков увеличится счётчик В работе, а после завершения процесса - Успешные или Проваленные;
  3. Перейти на вкладку Логи, выбрать в списке Запуск DAG запуск с префиксом manual__ и выполнить клик по кнопке Получить логи - отобразятся логи каждой задачи процесса. image_7