Airflow 로그 보기

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

로그 유형

Cloud Composer에는 다음과 같은 Airflow 로그가 포함됩니다.

  • Airflow 로그: 이 로그는 단일 DAG 작업에 연결되어 있습니다. Cloud Composer 환경에 연결된 Cloud Storage logs 폴더의 작업 로그를 볼 수 있습니다. Airflow 웹 인터페이스에서도 로그를 볼 수 있습니다.
  • 스트리밍 로그: 이 로그는 Airflow 로그의 상위 집합입니다. 스트리밍 로그에 액세스하려면 Google Cloud Console에서 Cloud Logging 로그 뷰어를 사용하거나 Cloud Monitoring을 사용하세요.

    Monitoring의 로그 기반 측정항목을 사용하여 Cloud Composer 환경 상태 확인과 같은 알림 정책을 설정할 수도 있습니다. Logging 및 Monitoring 할당량이 적용됩니다. Cloud Composer 환경의 Cloud Logging 및 Cloud Monitoring에 대해 자세히 알아보려면 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 Storage에 저장된 로그는 데이터 손실을 방지하기 위해 환경이 삭제된 후에도 스토리지에 남아 있습니다. Cloud Storage에서 수동으로 로그를 삭제해야 합니다.

시작하기 전에

Cloud Composer 환경에서 Cloud Storage 버킷의 Airflow 로그에 액세스하려면 storage.objectAdmin 권한이 필요합니다. 자세한 내용은 Cloud Composer 액세스 제어를 참조하세요.

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

Cloud Console에서 스트리밍 로그 보기

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

  • airflow: Airflow pod가 생성하는 분류되지 않은 로그입니다.
  • airflow-database-init-job: Airflow 데이터베이스 초기화 작업에서 생성되는 로그입니다.
  • airflow-scheduler: 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 모니터링에서 생성되는 로그입니다.

스트리밍 로그 파일을 보려면 다음 안내를 따르세요.

  1. Cloud Console에서 Google Cloud의 작업 제품군 로그 뷰어로 이동합니다.
    로그 뷰어 페이지로 이동

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

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

다음 단계