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 의존성·시간은 안 보임 |
Graph | Task 의존 관계 시각화 | DAG 구조·실패 지점 직관적 확인 | 실행 시간은 알 수 없음 |
Gantt | Task 실행 시간 시각화 | 병목·병렬 실행 여부 확인 | 의존성은 안 보임 |
Logs | Task 실행 로그 | 실패 원인 구체적 파악 | 전체 흐름 시각화는 불가 |
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.