728x90
Airflow 로그
- Airflow는 두 군데에 로그를 별도로 기록한다.
- 이 로그는 주기적으로 삭제하거나 S3 등으로 백업이 필요하다.
설정 항목
[logging] base_log_folder = /var/lib/airflow/logs
- DAG 실행 등 일반 로그가 저장되는 위치
[scheduler] child_process_log_directory = /var/lib/airflow/logs/scheduler
- 스케줄러의 자식 프로세스 로그가 저장되는 위치
Docker Compose 환경에서 로그 유지 방식
- Docker Compose로 실행된 경우, logs 폴더는 호스트 볼륨(host volume) 의 형태로 유지된다.
예시 설정 (docker-compose.yml 내 volumes 항목)
volumes:
- ${AIRFLOW_PROJ_DIR:-.}/dags:/opt/airflow/dags
- ${AIRFLOW_PROJ_DIR:-.}/logs:/opt/airflow/logs
- logs:/opt/airflow/logs:
→ Airflow 컨테이너 내부의 로그 디렉토리를 호스트의 ${AIRFLOW_PROJ_DIR}/logs와 연결함
→ 로그가 컨테이너 삭제 후에도 호스트에 유지됨
Airflow 메타데이터의 주기적인 백업
메타데이터 데이터베이스가 외부에 있다면 (ex: AWS RDS)
-> 해당 외부 DB에 직접 주기적인 백업을 설정한다
메타데이터 베이스가 Airflow와 같은 서버에 있다면 (ex: PostgreSQL)
-> DAG 등을 이용해 주기적으로 백업을 수행할 수 있으며, 예를 들어 S3에 저장할 수 있다