Post

Airflow UI 정리: Tree, Graph, Gantt, Logs

Airflow UI에서 제공하는 Tree, Graph, Gantt, Logs 뷰의 의미와 활용법을 정리. DAG 실행 상태를 모니터링하고 디버깅하는 데 필수적인 기능을 분석.

Airflow UI 정리: Tree, Graph, Gantt, Logs

Airflow UI (Tree, Graph, Gantt, Logs)

Airflow(MWAA 포함)를 쓰다 보면 DAG를 잘 작성하는 것만큼 중요한 게 DAG 실행을 모니터링하는 것이다. Airflow UI는 이를 위해 여러 시각화 도구를 제공한다. 그중 핵심은 Tree View, Graph View, Gantt View, Logs 네 가지다.


1. Tree View

개념: DAG 실행 결과를 캘린더처럼 나무(Tree) 구조로 보여준다.

  • 세로축: DAG의 태스크(Task)들
  • 가로축: 날짜(Execution Date)

특징

  • 각 Task의 실행 상태가 색상으로 표시된다.
    • 🟩 Success, 🟥 Failed, 🟨 Running, ⚪ Skipped 등
  • 마우스를 올리면 실행 시간, 시도 횟수 등의 정보 툴팁 표시
  • Task 클릭 → 하위 메뉴(Logs, Graph, Clear, Mark Success 등) 접근 가능

활용 포인트

  • 한눈에 “특정 날짜 DAG가 전체적으로 잘 돌았는지” 확인할 때 유용하다.
  • 같은 Task가 특정 날짜마다 반복적으로 실패한다면 데이터 품질/외부 API 이슈 가능성을 쉽게 파악 가능하다.

2. Graph View

개념: DAG에 정의된 Task들의 의존 관계(Directed Graph)를 시각화한다.

특징

  • Task가 노드로 표시되고, 화살표가 의존성(>>, <<)을 나타낸다.
  • Task 상태에 따라 색상 변함 → 시각적으로 “어디서 실패했는지” 바로 알 수 있다.
  • 특정 Task 클릭 → Logs/Trigger/Mark Success 메뉴 바로 접근

활용 포인트

  • DAG 설계 의도와 실제 실행 의존성이 맞는지 검증할 때 필수적이다.
  • “어디서 막혀서 뒤가 실행되지 못했는지” 원인 추적이 빠르다.
  • 복잡한 분기(BranchOperator 사용)도 직관적으로 확인 가능하다.

3. Gantt View

개념: Task 실행 시간을 간트 차트(Gantt Chart)로 표시한다.

  • 가로축: 시간
  • 세로축: Task

특징

  • 각 Task 실행 구간이 색깔 블록으로 표시된다.
  • 동시에 실행된 Task는 병렬 블록으로 나타남
  • Task 실행 길이를 비교해 “어디서 오래 걸리는지” 직관적으로 확인 가능

활용 포인트

  • 파이프라인 최적화에 유용하다.

    • 예: 특정 Task가 항상 20분 걸려 전체 DAG SLA를 지연시킨다면 병렬화·리소스 확장 고려 필요
  • 병렬 실행이 의도대로 동작하는지 확인 가능하다.


4. Logs

개념: 각 TaskInstance의 실제 실행 로그를 확인하는 뷰

특징

  • Task 클릭 → “View Logs” 메뉴 진입
  • 표준 출력/에러 로그, 리트라이 로그 확인 가능
  • MWAA에서는 로그가 CloudWatch Logs에도 연동됨 → UI/CloudWatch 둘 다 접근 가능

활용 포인트

  • 실패 원인 파악의 1순위 도구이다.
  • API 호출 시 에러 응답, DB 연결 오류, 파이썬 예외 등을 그대로 확인 가능하다.
  • 로그 내에서 INFO, WARNING, ERROR 레벨로 탐색하면 디버깅 속도 향상

5. 네 가지 뷰 비교

목적장점단점
Tree날짜별 Task 상태 요약전체 성공/실패 여부 한눈에 파악Task 의존성·시간은 안 보임
GraphTask 의존 관계 시각화DAG 구조·실패 지점 직관적 확인실행 시간은 알 수 없음
GanttTask 실행 시간 시각화병목·병렬 실행 여부 확인의존성은 안 보임
LogsTask 실행 로그실패 원인 구체적 파악전체 흐름 시각화는 불가

6. 체크리스트

  • DAG 실행 결과를 Tree View에서 매일 확인하고 있는가?
  • Graph View에서 DAG 구조가 의도대로 보이는가?
  • Gantt View에서 병목 Task를 발견했는가?
  • Logs에서 실패 Task의 에러 메시지를 빠르게 찾아낼 수 있는가?

마무리

Airflow UI의 Tree, Graph, Gantt, Logs 네 가지 뷰는 서로 보완적인 역할을 한다.

  • Tree는 날짜별 상태 요약, Graph는 의존성 구조, Gantt는 실행 시간 분석, Logs는 실패 원인 파악이다. 이 네 가지를 익숙하게 쓰면 DAG를 단순히 “작성”하는 수준을 넘어 운영·최적화·디버깅까지 할 수 있다.
This post is licensed under CC BY 4.0 by the author.