

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

# Amazon MWAA의 대시보드 및 알람 모니터링
<a name="monitoring-dashboard"></a>

Amazon CloudWatch에서 사용자 지정 대시보드를 생성하고 특정 지표에 대한 경보를 추가하여 Amazon Managed Workflows for Apache Airflow 환경의 상태를 모니터링할 수 있습니다. 대시보드에 경보가 표시되면 `ALARM` 상태일 때 빨간색으로 표시되기 때문에 Amazon MWAA의 상태를 사전에 손쉽게 모니터링할 수 있습니다.

Apache Airflow는 DAG 프로세스 수, DAG 백 크기, 현재 실행 중인 작업, 작업 실패, 성공을 포함한 몇 가지 프로세스에 대한 지표를 공개합니다. 환경을 생성할 때 Airflow는 Amazon MWAA 환경에 대한 지표를 CloudWatch에 자동으로 전송합니다. 이 페이지에서는 Amazon MWAA 환경을 위한 CloudWatch에서 Airflow 지표에 대한 상태 대시보드를 생성하는 방법을 설명합니다.

**Contents**
+ [Metrics](#monitoring-dashboard-metrics)
+ [경보 상태 개요](#monitoring-dashboard-states)
+ [사용자 지정 대시보드 및 경보의 예](#monitoring-dashboard-custom)
  + [이러한 지표에 대한 정보](#monitoring-dashboard-custom-about)
  + [대시보드 정보](#monitoring-dashboard-custom-about-dash)
  + [자 AWS 습서 사용](#monitoring-dashboard-tutorials)
  + [사용 CloudFormation](#monitoring-dashboard-cfn)
+ [지표 및 대시보드 삭제](#monitoring-dashboard-delete)
+ [다음 단계](#monitoring-dashboard-next-up)

## Metrics
<a name="monitoring-dashboard-metrics"></a>

Apache Airflow 버전에서 사용할 수 있는 모든 지표에 대해 사용자 지정 대시보드 및 경보를 생성할 수 있습니다. 각 지표는 Apache Airflow 핵심 성과 지표(KPI) 에 해당합니다. 지표 목록에 액세스하려면 다음을 참조하세요.
+ [CloudWatch의 Apache Airflow 환경 지표](access-metrics-cw.md)

## 경보 상태 개요
<a name="monitoring-dashboard-states"></a>

지표 경보에는 다음과 같은 상태가 있을 수 있습니다.
+ `OK` – 지표 또는 표현식이 정의된 임곗값 내에 있습니다.
+ `ALARM` – 지표 또는 표현식이 정의된 임곗값을 벗어났습니다.
+ `INSUFFICIENT_DATA` – 경보가 방금 시작되었거나 지표를 사용할 수 없거나 지표에서 경보 상태를 결정하는 데 사용할 수 있는 데이터가 충분하지 않습니다.

## 사용자 지정 대시보드 및 경보의 예
<a name="monitoring-dashboard-custom"></a>

Amazon MWAA 환경에서 선택한 지표의 차트를 표시하는 사용자 지정 모니터링 대시보드를 구축할 수 있습니다.

### 이러한 지표에 대한 정보
<a name="monitoring-dashboard-custom-about"></a>

다음 목록은 이 섹션의 튜토리얼 및 템플릿 정의를 통해 사용자 지정 대시보드에서 만든 각 지표를 설명합니다.
+ *QueuedTasks* - 대기 상태인 작업의 수입니다. `executor.queued_tasks` Apache Airflow 지표에 해당합니다.
+ *TaskSpending* - 실행기에서 보류 중인 작업의 수입니다. `scheduler.tasks.pending` Apache Airflow 지표에 해당합니다.
**참고**  
Apache Airflow v2.2 이상에는 적용되지 않습니다.
+ *RunningTasks* - 실행기에서 실행 중인 작업의 수입니다. `executor.running_tasks` Apache Airflow 지표에 해당합니다.
+ *SchedulerHeartbeat* - Apache Airflow가 스케줄러 작업에 대해 수행하는 체크인 수입니다. `scheduler_heartbeat` Apache Airflow 지표에 해당합니다. 
+ *TotalParseTime* - 모든 DAG 파일을 한 번 스캔하고 가져오는 데 걸린 초 단위 시간입니다. `dag_processing.total_parse_time` Apache Airflow 지표에 해당합니다.

### 대시보드 정보
<a name="monitoring-dashboard-custom-about-dash"></a>

다음 이미지는 이 섹션의 튜토리얼 및 템플릿 정의로 생성된 모니터링 대시보드를 보여줍니다.

![\[이 이미지는 Amazon MWAA 콘솔에서 프라이빗 네트워크 옵션을 찾을 수 있는 위치를 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/mwaa/latest/userguide/images/cw-dashboard.png)


### 자 AWS 습서 사용
<a name="monitoring-dashboard-tutorials"></a>

다음 AWS 자습서를 사용하여 현재 배포된 모든 Amazon MWAA 환경에 대한 상태 대시보드를 자동으로 생성할 수 있습니다. 또한 모든 Amazon MWAA 환경에서 건강하지 못한 작업자와 스케줄러 하트비트 장애에 대한 CloudWatch 경보를 생성합니다.
+ [Amazon MWAA를 위한 CloudWatch 대시보드 자동화](https://github.com/aws-samples/mwaa-dashboard)

### 사용 CloudFormation
<a name="monitoring-dashboard-cfn"></a>

이 섹션의 CloudFormation 템플릿 정의를 사용하여 CloudWatch에서 모니터링 대시보드를 생성한 다음 지표가 특정 임계값을 초과할 때 알림을 수신하도록 CloudWatch 콘솔에 경보를 추가할 수 있습니다. 이 템플릿 정의를 사용하여 스택을 생성하려면 [CloudFormation 콘솔에서 스택 생성을 참조하세요](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). 대시보드에 경보를 추가하려면 [경보 사용](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

```
AWSTemplateFormatVersion: "2010-09-09"
Description: Creates MWAA Cloudwatch Dashboard
Parameters:
  DashboardName:
    Description: Enter the name of the CloudWatch Dashboard
    Type: String
  EnvironmentName:
    Description: Enter the name of the MWAA Environment
    Type: String    
Resources:
  BasicDashboard:
    Type: AWS::CloudWatch::Dashboard
    Properties:
      DashboardName: !Ref DashboardName
      DashboardBody:
        Fn::Sub: '{
              "widgets": [
                  {
                      "type": "metric",
                      "x": 0,
                      "y": 0,
                      "width": 12,
                      "height": 6,
                      "properties": {
                          "view": "timeSeries",
                          "stacked": true,
                          "metrics": [
                              [
                                  "AmazonMWAA",
                                  "QueuedTasks",
                                  "Function",
                                  "Executor",
                                  "Environment",
                                  "${EnvironmentName}"
                              ]
                          ],
                          "region": "${AWS::Region}",
                          "title": "QueuedTasks ${EnvironmentName}",
                          "period": 300
                      }
                  },
                  {
                      "type": "metric",
                      "x": 0,
                      "y": 6,
                      "width": 12,
                      "height": 6,
                      "properties": {
                          "view": "timeSeries",
                          "stacked": true,
                          "metrics": [
                              [
                                  "AmazonMWAA",
                                  "RunningTasks",
                                  "Function",
                                  "Executor",
                                  "Environment",
                                  "${EnvironmentName}"
                              ]
                          ],
                          "region": "${AWS::Region}",
                          "title": "RunningTasks ${EnvironmentName}",
                          "period": 300
                      }
                  },
                  {
                      "type": "metric",
                      "x": 12,
                      "y": 6,
                      "width": 12,
                      "height": 6,
                      "properties": {
                          "view": "timeSeries",
                          "stacked": true,
                          "metrics": [
                              [
                                  "AmazonMWAA",
                                  "SchedulerHeartbeat",
                                  "Function",
                                  "Scheduler",
                                  "Environment",
                                  "${EnvironmentName}"
                              ]
                          ],
                          "region": "${AWS::Region}",
                          "title": "SchedulerHeartbeat ${EnvironmentName}",
                          "period": 300
                      }
                  },
                  {
                      "type": "metric",
                      "x": 12,
                      "y": 0,
                      "width": 12,
                      "height": 6,
                      "properties": {
                          "view": "timeSeries",
                          "stacked": true,
                          "metrics": [
                              [
                                  "AmazonMWAA",
                                  "TasksPending",
                                  "Function",
                                  "Scheduler",
                                  "Environment",
                                  "${EnvironmentName}"
                              ]
                          ],
                          "region": "${AWS::Region}",
                          "title": "TasksPending ${EnvironmentName}",
                          "period": 300
                      }
                  },
                  {
                      "type": "metric",
                      "x": 0,
                      "y": 12,
                      "width": 24,
                      "height": 6,
                      "properties": {
                          "view": "timeSeries",
                          "stacked": true,
                          "region": "${AWS::Region}",
                          "metrics": [
                              [
                                  "AmazonMWAA",
                                  "TotalParseTime",
                                  "Function",
                                  "DAG Processing",
                                  "Environment",
                                  "${EnvironmentName}"
                              ]
                          ],
                          "title": "TotalParseTime  ${EnvironmentName}",
                          "period": 300
                      }
                  }
              ]
          }'
```

## 지표 및 대시보드 삭제
<a name="monitoring-dashboard-delete"></a>

Amazon MWAA 환경을 삭제하면 해당 대시보드도 삭제됩니다. CloudWatch 지표는 15개월 동안 저장되며 삭제할 수 없습니다. CloudWatch 콘솔은 Amazon MWAA 환경에서 가장 최신 인스턴스가 표시되도록 지표 검색 기간을 지표가 마지막으로 수집된 후 2주로 제한합니다. 자세한 내용은 [Amazon CloudWatch FAQ](https://aws.amazon.com/cloudwatch/faqs/)를 참조하세요.

## 다음 단계
<a name="monitoring-dashboard-next-up"></a>
+ 환경에 맞게 Amazon Aurora PostgreSQL 메타데이터 데이터베이스를 쿼리하고, 사용자 지정 지표를 [CloudWatch에서 DAG를 사용하여 사용자 지정 지표 작성](samples-custom-metrics.md)의 CloudWatch에 게시할 DAG를 만드는 방법을 알아봅니다.