Airflow 로그 보기

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer용 Apache Airflow 로그에 액세스하고 보는 방법을 설명합니다.

로그 유형

Cloud Composer에는 다음과 같은 Airflow 로그가 있습니다.

  • Airflow 로그: 이 로그는 단일 DAG 작업에 연결되어 있습니다. Cloud Composer 환경에 연결된 Cloud Storage logs 폴더에서 태스크 로그를 볼 수 있습니다. Airflow 웹 인터페이스에서도 로그를 볼 수 있습니다.
  • 스트리밍 로그: 이 로그는 Airflow 로그의 상위 집합입니다. 스트리밍 로그에 액세스하려면 Google Cloud 콘솔에서 환경 세부정보 페이지의 로그 탭으로 이동하거나, Cloud Logging 또는 Cloud Monitoring을 사용하면 됩니다.

    Logging 및 Monitoring 할당량이 적용됩니다.

    Cloud Composer 환경의 Cloud Logging 및 Cloud Monitoring에 대해 자세히 알아보려면 Monitoring 환경을 참조하세요.

Cloud Storage의 로그

사용자가 환경을 만들면 Cloud Composer가 Cloud Storage 버킷을 만들고 사용자 환경과 버킷을 연결합니다. Cloud Composer는 단일 DAG 태스크의 로그를 버킷의 logs 폴더에 저장합니다.

로그 폴더 디렉터리 구조

logs 폴더에는 환경에서 실행된 각 워크플로의 폴더가 포함됩니다. 각 워크플로 폴더에는 해당 DAG 및 하위 DAG 폴더가 포함됩니다. 각 폴더에는 각 태스크의 로그 파일이 포함됩니다. 태스크 파일 이름은 태스크가 시작된 시간을 나타냅니다.

다음 예시에서는 환경의 로그 디렉터리 구조를 보여줍니다.

us-central1-my-environment-60839224-bucket
   └───dags
   |   │
   |   |   dag_1
   |   |   dag_2
   |   |   ...
   |
   └───logs
       │
       └───dag_1
       |   │
       |   └───task_1
       |   |   │   datefile_1
       |   |   │   datefile_2
       |   |   │   ...
       |   |
       |   └───task_2
       |       │   datefile_1
       |       │   datefile_2
       |       │   ...
       |
       └───dag_2
           │   ...

로그 보관

데이터 손실 방지를 위해 환경의 버킷에 저장된 로그는 환경이 삭제된 후 삭제되지 않습니다. 사용자 환경의 버킷에서 로그를 수동으로 삭제해야 합니다.

환경 버킷에 저장된 로그는 버킷의 정책을 사용합니다. Cloud Composer는 데이터를 영구적으로 보관하는 기본 정책으로 버킷을 만듭니다.

Cloud Logging에 저장된 로그의 경우 Cloud Composer는 _Default 및 사용자 정의 로그 보관 기간을 사용합니다.

시작하기 전에

환경 버킷에서 객체를 볼 수 있는 역할이 있어야 합니다. 자세한 내용은 액세스 제어를 참조하세요.

Cloud Storage에서 태스크 로그 보기

DAG 태스크 로그 파일을 보려면 다음 안내를 따르세요.

  1. 로그 파일을 보기 위해 다음 명령어를 입력하고 VARIABLES를 적절한 값으로 바꿉니다.

    gsutil ls -r gs://BUCKET/logs

  2. (선택사항) 단일 로그 또는 하위 폴더를 복사하려면 다음 명령어를 입력하고, VARIABLES를 적절한 값으로 바꿉니다.

    gsutil cp -r gs://BUCKET/logs/PATH_TO_LOG_FILE LOCAL_FILE_OR_DIRECTORY

Google Cloud 콘솔에서 스트리밍 로그 보기

Cloud Composer는 다음 로그를 생성합니다.

  • airflow: Airflow pod가 생성하는 분류되지 않은 로그입니다.
  • airflow-upgrade-db: Airflow 데이터베이스 초기화 작업에서 생성되는 로그입니다(이전의 airflow-database-init-job).
  • airflow-scheduler: Airflow 스케줄러에서 생성되는 로그입니다.
  • dag-processor-manager: DAG 프로세서 관리자의 로그(DAG 파일을 처리하는 스케줄러의 일부)입니다.
  • airflow-triggerer: Airflow 트리거가 생성하는 로그입니다.
  • airflow-webserver: Airflow 웹 인터페이스에서 생성되는 로그입니다.
  • airflow-worker: 워크플로 및 DAG 실행의 일부로 생성된 로그입니다.
  • cloudaudit.googleapis.com/activity: 관리자 활동에서 생성되는 로그입니다.
  • composer-agent: 환경 작업 생성 및 업데이트의 일부로 생성된 로그입니다.
  • gcs-syncd: 파일 동기화 프로세스로 생성된 로그입니다.
  • build-log-worker-scheduler: 업그레이드 및 Python 패키지 설치 중에 Airflow 작업자 이미지의 로컬 빌드로부터 생성된 로그입니다.
  • build-log-webserver: 업그레이드 및 Python 패키지 설치 중에 Airflow 웹 서버 이미지의 빌드로부터 생성된 로그입니다.
  • airflow-monitoring: Airflow 모니터링에서 생성되는 로그입니다.

이러한 로그는 환경 세부정보 페이지의 로그 탭이나 Cloud Logging에서 볼 수 있습니다.

환경 세부정보 페이지에서 스트리밍 로그를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 환경 페이지로 이동합니다.

    환경으로 이동

  2. 목록에서 검사하려는 환경 이름을 찾습니다. 환경 이름을 클릭하여 환경 세부정보 페이지를 열고 로그 탭을 선택합니다.

  3. 보려는 로그의 하위 카테고리를 선택하고 왼쪽 상단에 있는 시간 범위 선택기를 사용하여 시간 간격을 선택합니다.

Cloud Logging에서 스트리밍 로그를 보려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 로그 탐색기로 이동합니다.

    로그 탐색기로 이동

  2. 보려는 로그를 선택합니다.

    로그 파일 및 수준, 사전 정의된 라벨, 태스크 이름, 워크플로, 실행 날짜 등의 속성을 기준으로 필터링할 수 있습니다. 로그 선택 및 필터링에 대한 자세한 내용은 로그 탐색기 사용을 참조하세요.

    로그 내보내기에 대한 자세한 내용은 싱크 구성 및 관리를 참조하세요.

다음 단계