개요
Airflow를 사용하다 보면 Web UI에서 다음과 같은 Import 에러가 발생하는 모습을 확인할 수 있다.
Import Errors가 발생하면 Dag 활성화 자체가 되지 않기 때문에 주기적으로 동작 확인이 필요한 경우에는 별도로 모니터링이 필요해 보였다.
관련하여 알람 등을 구성하기 위해 프로그래밍적인 방법으로 확인할 수 있는 방법이 있는지 확인해본다.
import_error 테이블
잠깐 Airflow Meta DB 스키마를 확인해 봤더니 바로 import_error 테이블이 존재하는 모습을 확인할 수 있다.
-- airflow.import_error definition
CREATE TABLE `import_error` (
`id` int NOT NULL AUTO_INCREMENT,
`timestamp` timestamp(6) NULL DEFAULT NULL,
`filename` varchar(1024) COLLATE utf8mb3_bin DEFAULT NULL,
`stacktrace` text COLLATE utf8mb3_bin,
`processor_subdir` text COLLATE utf8mb3_bin,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2998780 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_bin;
import_error 테이블은 파일명과 stacktrace 등의 컬럼으로 이루어져 어떤 파일에서 어떤 에러가 발생하고 있는지 확인할 수 있다.
따라서 모니터링이 필요한 경우 import_error 테이블을 조회하여 알람을 구성하는 등의 작업을 수행하면 될 것 같다.
참고 문서
https://airflow.apache.org/docs/apache-airflow/stable/database-erd-ref.html