

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

# 작업 모니터링


Amazon CloudWatch Events를 사용하여 Amazon EMR on EKS 가상 클러스터에서 실행하는 작업을 추적할 수 있습니다. 이벤트를 사용하여 가상 클러스터에서 실행하는 작업의 활동 및 상태를 추적할 수 있습니다. 다음 주제에서는 리소스 상태를 유지 관리하기 위해 모니터링을 효과적으로 구성하는 방법을 보여줍니다.

**Topics**
+ [

## Amazon CloudWatch Events를 사용하여 작업 모니터링
](#monitoring-cloudwatch-events)
+ [

## CloudWatch Events를 통해 Amazon EMR on EKS 자동화
](#monitoring-automate-emr-on-eks)
+ [

## 예제: Lambda를 간접 호출하는 규칙 설정
](#monitoring-example-rule)
+ [

## Amazon CloudWatch Events를 사용하여 재시도 정책을 포함하는 작업의 드라이버 포드 모니터링
](#monitor-jobs-with-retry-policies)

## Amazon CloudWatch Events를 사용하여 작업 모니터링


Amazon EMR on EKS에서는 작업 실행 상태가 변경될 때 이벤트를 생성합니다. 각 이벤트는 가상 클러스터 ID 및 영향을 받은 작업 실행 ID와 같은 이벤트에 대한 추가 세부 정보와 함께 이벤트가 생성된 날짜 및 시간과 같은 정보를 제공합니다.

이벤트를 사용하여 가상 클러스터에서 실행하는 작업의 활동 및 상태를 추적할 수 있습니다. 또한 Amazon CloudWatch Events를 사용하여 작업 실행 시 지정된 패턴과 일치하는 이벤트가 생성될 때 취할 조치를 정의할 수 있습니다. 이벤트는 작업 실행 수명 주기 동안 특정 발생을 모니터링하는 데 유용합니다. 예를 들어, 작업 실행 상태가 `submitted`에서 `running`으로 변경되는 시기를 모니터링할 수 있습니다. CloudWatch Events에 대한 자세한 내용은 **[Amazon Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)를 참조하세요.

다음 테이블에는 Amazon EMR on EKS 이벤트와 함께 이벤트가 나타내는 상태 또는 상태 변경, 이벤트의 심각도 및 이벤트 메시지가 나와 있습니다. 각 이벤트는 자동으로 이벤트 스트림으로 전송되는 JSON 객체로 표시됩니다. JSON 객체에는 이벤트에 대한 추가 세부 정보가 포함되어 있습니다. CloudWatch Events를 사용한 이벤트 처리를 위한 규칙은 JSON 객체의 패턴과 일치하므로 JSON 객체는 이 규칙을 설정할 때 특히 중요합니다. 자세한 내용은 **[Amazon EventBridge 사용 설명서](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event.html#emr_event_type)의 [Amazon EventBridge 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) 및 Amazon EMR on EKS 이벤트를 참조하세요.


**작업 실행 상태 변경 이벤트**  

| State | 심각도 | 메시지 | 
| --- | --- | --- | 
| SUBMITTED | INFO | UTC Time에 JobRunID 작업 실행(JobRunName)이 가상 클러스터 VirtualClusterId에 제출되었습니다. | 
| RUNNING | INFO | Time에 가상 클러스터 VirtualClusterId에서 JobRunId 작업 실행(JobRunName)의 실행이 시작되었습니다. | 
| COMPLETED | INFO | 가상 클러스터 VirtualClusterId에서 작업 실행 jobRunId(JobRunName)이(가) Time에 완료되었습니다. 이 작업 실행이 Time에 실행을 시작했고 완료되는 데 Num분이 걸렸습니다. | 
| 취소됨 | WARN | Time에 가상 클러스터 VirtualClusterId에서 JobRunId 작업 실행(JobRunName)에 대한 취소 요청이 성공했으며, 이제 작업 실행이 취소됩니다. | 
| FAILED | 오류 | Time에 가상 클러스터 VirtualClusterId에서 JobRunId 작업 실행(JobRunName)이 완료되었습니다. | 

## CloudWatch Events를 통해 Amazon EMR on EKS 자동화


Amazon CloudWatch Events를 사용하여 AWS 서비스를 자동화하여 애플리케이션 가용성 문제 또는 리소스 변경과 같은 시스템 이벤트에 대응할 수 있습니다. AWS 서비스의 이벤트는 거의 실시간으로 CloudWatch Events로 전달됩니다. 원하는 이벤트만 표시하도록 간단한 규칙을 작성한 후 규칙과 일치하는 이벤트 발생 시 실행할 자동화 태스크를 지정할 수 있습니다. 자동으로 트리거할 수 있는 태스크는 다음과 같습니다.
+  AWS Lambda 함수 호출
+ Amazon EC2 Run Command 호출
+ Amazon Kinesis Data Streams로 이벤트 릴레이
+  AWS Step Functions 상태 시스템 활성화
+  Amazon Simple Notification Service (SNS) 주제 또는 Amazon Simple Queue Service (SQS) 대기열 알림

다음은 Amazon EMR on EKS에서 CloudWatch Events를 사용하는 몇 가지 예입니다.
+ 작업 실행에 성공하면 Lambda 함수 활성화
+ 작업 실행에 실패하면 Amazon SNS 주제 알림

Amazon EMR on EKS는 `SUBMITTED`, `RUNNING`, `CANCELLED`, `FAILED`, `COMPLETED` 상태 변경에 대해 '`detail-type:`' '`EMR Job Run State Change`'에 대한 CloudWatch Events를 생성합니다.

## 예제: Lambda를 간접 호출하는 규칙 설정


다음 단계를 사용하여 'EMR 작업 실행 상태 변경' 이벤트가 있을 때 Lambda를 간접 호출하는 CloudWatch 이벤트 규칙을 설정합니다.

```
aws events put-rule \
--name cwe-test \
--event-pattern '{"detail-type": ["EMR Job Run State Change"]}'
```

소유하고 있는 Lambda 함수를 새 대상으로 추가하고 다음과 같이 Lambda 함수를 간접 호출할 수 있는 권한을 CloudWatch Events에 부여합니다. *123456789012*를 계정 ID로 바꿉니다.

```
aws events put-targets \
--rule cwe-test \
--targets Id=1,Arn=arn:aws:lambda:us-east-1:123456789012:function:MyFunction
```

```
aws lambda add-permission \
--function-name MyFunction \
--statement-id MyId \
--action 'lambda:InvokeFunction' \
--principal events.amazonaws.com
```

**참고**  
순서가 잘못되었거나 누락되는 등 알림 이벤트의 순서 또는 존재 여부에 따라 프로그램을 작성할 수 없을 수 있습니다. 이벤트는 최선의 작업을 기반으로 발생됩니다.

## Amazon CloudWatch Events를 사용하여 재시도 정책을 포함하는 작업의 드라이버 포드 모니터링


CloudWatch 이벤트를 사용하면 재시도 정책을 포함하는 작업에서 생성된 드라이버 포드를 모니터링할 수 있습니다. 자세한 내용은 이 안내서의 [재시도 정책으로 작업 모니터링](jobruns-using-retry-policies.md#monitoring-retry) 섹션을 참조하세요.