본문 바로가기
Airflow

Airflow 로그와 DAG 설정: 환경 변수 사용 예시

by 떡쇠 2024. 7. 13.
반응형

Airflow 설정 시, 로그 파일과 DAG 파일의 디렉토리를 설정하는 것은 매우 중요하다. 이를 위해 Docker Compose 파일에서 환경 변수를 설정하여 쉽게 관리할 수 있다. 아래는 Airflow의 로그와 DAG 파일 디렉토리를 설정하는 방법을 알아본다.


환경 변수 설정

  1. AIRFLOW__CORE__BASE_LOG_FOLDER: Airflow의 모든 로그 파일이 저장되는 기본 디렉토리를 지정한다.
  2. AIRFLOW__CORE__DAG_PROCESSOR_MANAGER_LOG_LOCATION: DAG DAG Processor Manager는 로그 파일 경로를 지정한다. DAG Processor Manager는 주기적으로 DAG 파일들을 스캔하고 파싱하여 DAG 객체를 Airflow가 인식 가능한 형태로 변환하는 역할을 한다.
  3. AIRFLOW__CORE__DAGS_FOLDER: DAG 파일이 위치한 디렉토리를 지정한다.

Docker Compose 설정 예시

version: '3'
x-airflow-common-env: &airflow-common-env
  environment:
    - AIRFLOW__CORE__BASE_LOG_FOLDER=/app/airflow/logs # 기본 값 /opt/airflow/logs
    - AIRFLOW__CORE__DAG_PROCESSOR_MANAGER_LOG_LOCATION=/app/airflow/logs/dag_processor_manager.log
    - AIRFLOW__CORE__DAGS_FOLDER=/app/airflow/dags  # 기본 값 /opt/airflow/dags
  working_dir: /app # 컨텡테이너의 기본 작업 디렉토리, 기본 값 /opt
  volumes:
    - ./dags:/app/dags
    - ./logs:/app/airflow/logs

services:
  webserver:
    image: apache/airflow:latest
    <<: *airflow-common-env
    ports:
      - "8080:8080"
    command: webserver

  scheduler:
    image: apache/airflow:latest
    <<: *airflow-common-env
    command: scheduler

  worker:
    image: apache/airflow:latest
    <<: *airflow-common-env
    command: worker

  flower:
    image: apache/airflow:latest
    <<: *airflow-common-env
    ports:
      - "5555:5555"
    command: flower

 

위 설정으로 프로젝트의 환경에 맞게 디렉토리를 변경하여 컨테이너를 생성할 수 있다.

 

반응형