Панель управления Airflow
Описание
Панель управления Airflow - встроенный инструмент Puzzle RPA, который связывает открытый проект с процессом (DAG) на сервере оркестратора Airflow и позволяет работать с оркестратором из студии:
- хранить несколько подключений к серверам Airflow и переключаться между ними;
- публиковать DAG-файл и Python-скрипты робота на сервер, хранить версии опубликованных файлов и восстанавливать предыдущие версии;
- запускать связанный DAG вручную (в том числе с параметрами запуска) и снимать его с паузы;
- просматривать сведения о DAG, статистику запусков и логи выполнения;
- открывать веб-интерфейс Airflow во встроенном окне.
Чтобы открыть Панель управления Airflow, требуется кликнуть по кнопке, расположенной в Области кнопок взаимодействия с процессом:
Внешний вид
Окно панели называется Оркестрация Airflow.
Окно панели разделено на две области:
- 1 - Подключения - боковая панель со списком сохранённых подключений к серверам Airflow. Панель можно свернуть кнопкой Свернуть и развернуть кнопкой Развернуть;
- 2 - Рабочая область - вкладки DAG, Логи, Airflow UI и Файлы, содержимое которых относится к выбранному подключению и открытому проекту.
Подключения
Добавление подключения
- Выполнить клик по кнопке Добавить подключение в верхней части боковой панели;
- В окне Подключение к Airflow заполнить поля:
- Хост - адрес сервера Airflow (обязательное поле);
- Логин и Пароль - учётные данные пользователя Airflow;
- Токен - токен доступа для Airflow 3 с авторизацией по токену. Если поле пустое, токен запрашивается по логину и паролю;
- Отключить проверку SSL - снимает проверку TLS-сертификата при обращении к серверу по HTTPS. Использовать только при осознанном риске;
- Выполнить клик по кнопке Проверить соединение. При успешной проверке в окне отображаются Версия сервера и Права пользователя - доступ к DAG, запускам, переменным, подключениям и пулам (да/нет):
- Выполнить клик по кнопке Сохранить.
Управление подключениями
Клик по подключению в списке делает его активным: данные вкладок загружаются для этого сервера. При переключении на другое подключение панель запрашивает подтверждение - текущие данные DAG и логи будут сброшены.
Меню подключения содержит действия:
- Скопировать хост - копирует адрес сервера в буфер обмена;
- Редактировать - открывает окно Редактирование подключения;
- Удалить - удаляет подключение после подтверждения.
Вкладка DAG
Вкладка связывает открытый проект с процессом (DAG) на сервере и показывает сведения о нём.
Связь проекта с DAG
- Выполнить клик по кнопке Выбрать DAG-файл и указать Python-файл DAG на диске - он создаётся при сохранении процесса с блоком Создать процесс (Dag) как Python-скрипт;
- Поле ID дага заполняется автоматически из выбранного файла. Если прочитать
dag_idиз файла не удалось, идентификатор требуется ввести вручную; - Выполнить клик по кнопке Сохранить связь. Связь хранится в проекте и восстанавливается при следующем открытии панели.
Клик по полю Путь до DAG-файла копирует путь в буфер обмена.
Сведения о DAG и статистика
После сохранения связи в таблице отображаются:
- ID дага
- Последняя версия,
- Описание
- Расположение на сервере
- Состояние (активен / на паузе)
- Одновременный запуск
- Дата публикации
- Владельцы
- Теги.
Ниже выводится Статистика запусков - количество запусков в состояниях Успешные, Проваленные, В работе и В очереди.
Запуск DAG
Кнопка Запустить открывает окно Единичный запуск: DAG запускается один раз, вне расписания.
В поле Параметры запуска (JSON) можно передать параметры запуска в формате JSON:
Публикация файлов
Кнопки Опубликовать DAG и Опубликовать скрипты открывают окно загрузки файлов на сервер:
- В поле Файлы выбрать файлы (Выбрать файлы) или папку (Выбрать папку) - при выборе папки загружаются все подходящие файлы из неё;
- При необходимости указать Подпапку внутри целевой папки на сервере (пусто - корень папки) и абсолютный путь к папке dags / папке scripts на сервере (пусто - папка из конфигурации Airflow);
- Заполнить поле Комментарий - описание изменений сохраняется вместе с версией файла;
- Выполнить клик по кнопке Загрузить.
Меню «Открыть в Airflow»
Кнопка Открыть в Airflow открывает во вкладке Airflow UI нужную страницу веб-интерфейса: Открыть DAG в Airflow, Переменные, Подключения или Последний запуск связанного DAG.
Вкладка Логи
Вкладка отображает логи выполнения связанного DAG.
- В выпадающем списке Запуск DAG выбирается конкретный запуск (с датой и состоянием -
success,failed,running), для которого требуется получить логи;
- Получить логи - загружает логи выбранного запуска (для каждой задачи и попытки выполнения);
- Сохранить в файл - сохраняет загруженные логи в файл на диске;
- Логи - открывает страницу логов выбранного запуска во вкладке Airflow UI.
В окне просмотра логов доступны поиск по тексту и переключение цветовой темы.
Вкладка Airflow UI
Во вкладке открывается веб-интерфейс сервера Airflow. Панель инструментов содержит кнопки:
- Вернуться назад;
- Перейти вперёд;
- Обновить страницу;
- Увеличить масштаб; -Уменьшить масштаб.
Вкладка Файлы
Вкладка показывает файлы и их версии на сервере Airflow.
- Переключатель DAG-и / Скрипты выбирает папку на сервере;
- Поле Поиск фильтрует список по имени файла, кнопка Обновить перечитывает список с сервера;
- Клик по файлу раскрывает таблицу его версий со столбцами ID версии, Размер, Загружена и Комментарий;
- Кнопка Восстановить возвращает выбранную версию файла;
- Меню Скопировать копирует Абсолютный путь, Относительный путь, Имя файла или Путь на хосте, например, для указания расположения робота в блоке Запустить Робота.
Пример использования
В данном примере робот Robot Puzzle RPA публикуется на сервер Airflow 3 и запускается вручную из студии. Проект робота состоит из двух процессов: главного процесса robot_puzzle_rpa с действиями робота и процесса main с блоком Создать процесс (Dag).
Шаг 1 - сохранение робота как Python-скрипта
Процесс робота сохраняется как Python-скрипт: он будет выполняться на машине, которой управляет оркестратор.
Шаг 2 - публикация скрипта робота на сервер
- Открыть Панель управления Airflow и выбрать подключение к серверу (в примере -
http://localhost:8080); - Во вкладке DAG выполнить клик по кнопке Опубликовать скрипты;
- В окне Загрузка скриптов выбрать сохранённый файл
robot_puzzle_rpa.py, при необходимости указать Подпапку и заполнить Комментарий - он сохранится вместе с версией файла; - Выполнить клик по кнопке Загрузить.
Результат публикации проверяется во вкладке Файлы в режиме Скрипты: файл появляется в списке Файлы в папке scripts, а клик по нему раскрывает таблицу версий с комментарием загрузки.
Шаг 3 - копирование пути к роботу на сервере
Путь к опубликованному скрипту потребуется блоку Запустить Робота. Чтобы не набирать его вручную, требуется выполнить клик по кнопке Скопировать в строке файла и выбрать пункт Абсолютный путь - в буфер обмена попадёт путь вида /opt/airflow/scripts/robot_puzzle_rpa.py.
Шаг 4 - создание процесса (DAG)
В отдельном процессе проекта собирается блок Создать процесс (Dag): задаётся версия оркестратора Airflow 3, наименование robot-puzzle-rpa, расписание, имя пула и аргументы по умолчанию.
В разъём Роботы помещается блок Запустить Робота, где в параметр Путь к роботу на сервере вставляется скопированный абсолютный путь, а в параметр Название главного процесса - имя файла робота.
Шаг 5 - публикация DAG-файла
- Сохранить процесс с блоком Создать процесс (Dag) как Python-скрипт - получится DAG-файл
robot_puzzle_rpa.py; - Во вкладке DAG выполнить клик по кнопке Опубликовать DAG;
- В окне Загрузка DAG выбрать полученный файл, заполнить Комментарий и выполнить клик по кнопке Загрузить.
Шаг 6 - связь проекта с DAG
- Во вкладке DAG выполнить клик по кнопке Выбрать DAG-файл и указать сохранённый DAG-файл на диске;
- Убедиться, что поле ID дага заполнилось значением
robot-puzzle-rpa- оно должно совпадать с параметром Наименование блока Создать процесс (Dag); - Выполнить клик по кнопке Сохранить связь, затем - по кнопке Обновить.
В таблице появляются сведения о процессе: последняя версия v1, описание, расположение на сервере /opt/airflow/dags/robot_puzzle_rpa.py, состояние и дата публикации, а ниже - статистика запусков.
Шаг 7 - запуск и проверка результата
- Выполнить клик по кнопке Запустить и подтвердить единичный запуск в окне Единичный запуск. Если DAG находится на паузе, кнопка называется Возобновить и сначала снимает процесс с паузы;
- Выполнить клик по кнопке Обновить - в блоке Статистика запусков увеличится счётчик В работе, а после завершения процесса - Успешные или Проваленные;
- Перейти на вкладку Логи, выбрать в списке Запуск DAG запуск с префиксом
manual__и выполнить клик по кнопке Получить логи - отобразятся логи каждой задачи процесса.