Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • ИИ для бизнеса
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Yandex Managed Service for Apache Airflow™
  • Начало работы
    • Все инструкции
    • Работа с интерфейсами Apache Airflow™
      • Мониторинг состояния кластера
      • Просмотр логов кластера
      • Передача логов Apache Airflow™ в Cloud Logging
      • Получение логов выполнения DAG
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Yandex Monitoring
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы

В этой статье:

  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат
  1. Пошаговые инструкции
  2. Логи и мониторинг
  3. Получение логов выполнения DAG

Получение логов выполнения DAG

Статья создана
Yandex Cloud
Обновлена 3 декабря 2025 г.
  • Подготовьте DAG-файл и запустите граф
  • Проверьте результат

С помощью направленного ациклического графа (DAG) вы можете получать логи выполнения DAG и при необходимости экспортировать их в отдельное хранилище.

Подготовьте DAG-файл и запустите графПодготовьте DAG-файл и запустите граф

  1. Создайте локально файл с именем export_dag_logs.py и скопируйте в него скрипт:

    import os
    import json
    
    from airflow.decorators import dag, task
    import boto3
    
    
    def system_logs_bucket_name() -> str:
        with open('/opt/airflow/airflow.cfg') as f:
            for line in f:
                line = line.strip()
                if not line.startswith('remote_base_log_folder'):
                    continue
    
                s3_path = line.split('=')[1].strip()
                return s3_path.split('//')[1]
    
    
    @dag(schedule=None)
    def export_dag_logs():
        @task
        def list_logs_bucket():
            str_conn = os.getenv('AIRFLOW_CONN_S3_DAG_LOGS')
            if not str_conn:
                raise Exception('env var AIRFLOW_CONN_S3_DAG_LOGS not found or empty')
    
            conn = json.loads(str_conn)
            bucket = system_logs_bucket_name()
    
            session = boto3.session.Session()
            s3 = session.client(
                service_name='s3',
                endpoint_url=conn['extra']['endpoint_url'],
                aws_access_key_id=conn['login'],
                aws_secret_access_key=conn['password'],
            )
    
            # Here we can do anything with logs, e.g. clone them to custom bucket
            resp = s3.list_objects_v2(Bucket=bucket)
            object_keys = [c['Key'] for c in resp['Contents']]
    
            print('Log files:\n')
            print('\n'.join(object_keys))
    
        list_logs_bucket()
    
    
    export_dag_logs()
    

    Примечание

    Переменная AIRFLOW_CONN_S3_DAG_LOGS уже задана на воркере, ее не нужно задавать дополнительно.

  2. Загрузите DAG-файл export_dag_logs.py в созданный ранее бакет. В результате одноименный граф появится в веб-интерфейсе Apache Airflow™ автоматически.

  3. Откройте веб-интерфейс Apache Airflow™.

  4. Убедитесь, что в разделе DAGs появился новый граф export_dag_logs.

    Загрузка DAG-файла из бакета может занять несколько минут.

  5. Чтобы запустить граф, в строке с его именем нажмите кнопку image.

Проверьте результатПроверьте результат

Чтобы проверить результат в веб-интерфейсе Apache Airflow™:

Версия Apache Airflow™ ниже 3.0
Версия Apache Airflow™ 3.0 и выше
  1. В разделе DAGs нажмите на граф export_dag_logs.
  2. Перейдите в раздел Graph.
  3. Выберите задание list_logs_bucket.
  4. Перейдите в раздел Logs.
  5. Убедитесь, что в логах есть строка Log files: {content}, где content — список логов выполнения DAG. Это значит, что запрос выполнен успешно.
  1. В разделе Dags нажмите на граф export_dag_logs.
  2. Перейдите в раздел Tasks.
  3. Выберите задание list_logs_bucket.
  4. Перейдите в раздел Task Instances.
  5. Выберите экземпляр задания.
  6. Откроется раздел Logs.
  7. Убедитесь, что в логах есть строка Log files: {content}, где content — список логов выполнения DAG. Это значит, что запрос выполнен успешно.

Была ли статья полезна?

Предыдущая
Передача логов Apache Airflow™ в Cloud Logging
Следующая
Все руководства
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»