

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon CloudWatch에서 Airflow 로그 액세스
<a name="monitoring-airflow"></a>

Amazon MWAA는 Amazon CloudWatch에 Apache Airflow 로그를 전송할 수 있습니다. 추가적인 타사 도구 없이도 단일 위치에서 여러 환경의 로그에 액세스하여 Apache Airflow 작업 지연 또는 워크플로 오류를 쉽게 식별할 수 있습니다. CloudWatch에서 Apache Airflow DAG 프로세싱, 작업, 웹 서버, 작업자 로그에 액세스하려면 Amazon Managed Workflows for Apache Airflow 콘솔에서 Apache Airflow 로그를 활성화해야 합니다.

**Contents**
+ [가격 책정](#monitoring-airflow-pricing)
+ [시작하기 전 준비 사항](#monitoring-airflow-before)
+ [로그 유형](#monitoring-airflow-log-groups)
+ [Apache Airflow 로그 활성화](#monitoring-airflow-enable)
+ [Apache Airflow 로그 액세스](#monitoring-airflow-view)
+ [스케줄러 로그 예제](#monitoring-airflow-example)
+ [다음 단계](#monitoring-airflow-next-up)

## 가격 책정
<a name="monitoring-airflow-pricing"></a>
+ 표준 CloudWatch Log 요금이 적용됩니다. 자세한 내용은 [CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하세요.

## 시작하기 전 준비 사항
<a name="monitoring-airflow-before"></a>
+ CloudWatch에서 로그에 액세스할 수 있는 역할이 있어야 합니다. 자세한 정보는 [Amazon MWAA 환경 액세스](access-policies.md) 섹션을 참조하세요.

## 로그 유형
<a name="monitoring-airflow-log-groups"></a>

Amazon MWAA는 사용자가 활성화한 각 Airflow 로깅 옵션에 대한 로그 그룹을 생성하고 해당 로그를 환경과 관련된 CloudWatch Logs 그룹에 푸시합니다. 로그 그룹의 이름은 다음 형식으로 명명됩니다: `YourEnvironmentName-LogType`. 예를 들어, 환경 이름이 `Airflow-v202-Public`으로 명명되면 Apache Airflow 작업 로그가 `Airflow-v202-Public-Task`로 전송됩니다.


| 로그 유형 | 설명 | 
| --- | --- | 
|  `YourEnvironmentName-DAGProcessing`  |  DAG 프로세서 관리자(DAG 파일을 처리하는 스케줄러의 일부)의 로그.  | 
|  `YourEnvironmentName-Scheduler`  |  Airflow 스케줄러가 생성하는 로그입니다.  | 
|  `YourEnvironmentName-Task`  |  DAG가 생성하는 작업 로그입니다.  | 
|  `YourEnvironmentName-WebServer`  |  Airflow 웹 인터페이스가 생성하는 로그입니다.  | 
|  `YourEnvironmentName-Worker`  |  워크플로 및 DAG 실행의 일부로 생성된 로그입니다.  | 

## Apache Airflow 로그 활성화
<a name="monitoring-airflow-enable"></a>

`INFO`, `WARNING`, `ERROR`, 또는 `CRITICAL` 수준에서 Apache Airflow 로그를 활성화할 수 있습니다. 로그 수준을 선택하면 Amazon MWAA에서 해당 수준 및 더 높은 모든 심각도 수준에 대한 로그를 전송합니다. 예를 들어, `INFO` 수준에서 로그를 활성화하면 Amazon MWAA는 `INFO` 로그 및 `WARNING`, `ERROR`, `CRITICAL` 로그 수준을 CloudWatch Log로 보냅니다.

1. Amazon MWAA 콘솔에서 [환경 페이지](https://console.aws.amazon.com/mwaa/home#/environments)를 엽니다.

1. 환경을 선택합니다.

1. **편집**을 선택합니다.

1. **다음**을 선택합니다.

1. 다음 로깅 옵션 중 하나 이상을 선택합니다.

   1. **모니터링 창**에서 **Airflow 스케줄러 로그 그룹**을 선택합니다.

   1. **모니터링** 창에서 **Airflow 웹 서버 로그 그룹**을 선택합니다.

   1. **모니터링** 창에서 **Airflow 작업자 로그 그룹**을 선택합니다.

   1. **모니터링 창**에서 **Airflow DAG 프로세싱 로그 그룹**을 선택합니다.

   1. **모니터링 창**에서 **Airflow 작업 로그 그룹**을 선택합니다.

   1. **로그 수준**에서 로깅 수준을 선택합니다.

1. **다음**을 선택합니다.

1. **저장**을 선택합니다.

## Apache Airflow 로그 액세스
<a name="monitoring-airflow-view"></a>

다음 섹션에서는 CloudWatch 콘솔에서 Apache Airflow 로그에 액세스하는 방법을 설명합니다.

1. Amazon MWAA 콘솔에서 [환경 페이지](https://console.aws.amazon.com/mwaa/home#/environments)를 엽니다.

1. 환경을 선택합니다.

1. **모니터링** 창에서 로그 그룹을 선택합니다.

1. **로그 스트림**을 선택합니다.

## 스케줄러 로그 예제
<a name="monitoring-airflow-example"></a>

워크플로우를 예약하고 `dags` 폴더를 구문 분석하는 스케줄러에 대한 Apache Airflow 로그를 액세스할 수 있습니다. 다음 단계에서는 Amazon MWAA 콘솔에서 스케줄러에 대한 로그 그룹을 여는 방법과 CloudWatch Logs 콘솔에서 Apache Airflow 로그를 액세스하는 방법을 설명합니다.

**`requirements.txt`에 대한 로그에 액세스하려면**

1. Amazon MWAA 콘솔에서 [환경 페이지](https://console.aws.amazon.com/mwaa/home#/environments)를 엽니다.

1. 환경을 선택합니다.

1. **모니터링** 창에서 **Airflow 스케줄러 로그 그룹**을 선택합니다.

1. **로그 스트림**에서 `requirements_install_ip` 로그를 선택합니다.

1. `/usr/local/airflow/.local/bin`에서 환경에 설치된 패키지 목록을 참조하세요. 예제:

   ```
   Collecting appdirs==1.4.4 (from -r /usr/local/airflow/.local/bin (line 1))
   Downloading https://files.pythonhosted.org/packages/3b/00/2344469e2084fb28kjdsfiuyweb47389789vxbmnbjhsdgf5463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl  
   Collecting astroid==2.4.2 (from -r /usr/local/airflow/.local/bin (line 2))
   ```

1. 패키지 목록을 검토하고 설치 중에 오류가 발생했는지 여부를 검토합니다. 문제가 발생한 경우, 다음과 비슷한 오류가 표시될 수 있습니다.

   ```
   2021-03-05T14:34:42.731-07:00
   No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4))
   No matching distribution found for LibraryName==1.0.0 (from -r /usr/local/airflow/.local/bin (line 4))
   ```

## 다음 단계
<a name="monitoring-airflow-next-up"></a>
+ [Amazon CloudWatch 경보 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)에서 CloudWatch 경보를 구성하는 방법을 알아봅니다.
+ [CloudWatch 대시보드 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)에서 CloudWatch 대시보드를 생성하는 방법을 알아봅니다.