작업 모니터링
Amazon CloudWatch Events를 사용하여 Amazon EMR on EKS 가상 클러스터에서 실행하는 작업을 추적할 수 있습니다. 이벤트를 사용하여 가상 클러스터에서 실행하는 작업의 활동 및 상태를 추적할 수 있습니다. 다음 주제에서는 리소스 상태를 유지 관리하기 위해 모니터링을 효과적으로 구성하는 방법을 보여줍니다.
주제
Amazon CloudWatch Events를 사용하여 작업 모니터링
Amazon EMR on EKS에서는 작업 실행 상태가 변경될 때 이벤트를 생성합니다. 각 이벤트는 가상 클러스터 ID 및 영향을 받은 작업 실행 ID와 같은 이벤트에 대한 추가 세부 정보와 함께 이벤트가 생성된 날짜 및 시간과 같은 정보를 제공합니다.
이벤트를 사용하여 가상 클러스터에서 실행하는 작업의 활동 및 상태를 추적할 수 있습니다. 또한 Amazon CloudWatch Events를 사용하여 작업 실행 시 지정된 패턴과 일치하는 이벤트가 생성될 때 취할 조치를 정의할 수 있습니다. 이벤트는 작업 실행 수명 주기 동안 특정 발생을 모니터링하는 데 유용합니다. 예를 들어, 작업 실행 상태가 submitted
에서 running
으로 변경되는 시기를 모니터링할 수 있습니다. CloudWatch Events에 대한 자세한 내용은 Amazon Amazon EventBridge 사용 설명서를 참조하세요.
다음 테이블에는 Amazon EMR on EKS 이벤트와 함께 이벤트가 나타내는 상태 또는 상태 변경, 이벤트의 심각도 및 이벤트 메시지가 나와 있습니다. 각 이벤트는 자동으로 이벤트 스트림으로 전송되는 JSON 객체로 표시됩니다. JSON 객체에는 이벤트에 대한 추가 세부 정보가 포함되어 있습니다. CloudWatch Events를 사용한 이벤트 처리를 위한 규칙은 JSON 객체의 패턴과 일치하므로 JSON 객체는 이 규칙을 설정할 때 특히 중요합니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge 이벤트 패턴 및 Amazon EMR on EKS 이벤트를 참조하세요.
State | 심각도 | 메시지 |
---|---|---|
SUBMITTED | INFO | UTC Time 에 JobRunID 작업 실행(JobRunName )이 가상 클러스터 VirtualClusterId 에 제출되었습니다. |
실행 중(RUNNING) | INFO | Time 에 가상 클러스터 VirtualClusterId 에서 JobRunId 작업 실행(JobRunName )의 실행이 시작되었습니다. |
완료됨 | INFO | 가상 클러스터 VirtualClusterId 에서 작업 실행 jobRunId (JobRunName )이(가) Time 에 완료되었습니다. 이 작업 실행이 Time 에 실행을 시작했고 완료되는 데 Num 분이 걸렸습니다. |
취소됨 | WARN | Time 에 가상 클러스터 VirtualClusterId 에서 JobRunId 작업 실행(JobRunName )에 대한 취소 요청이 성공했으며, 이제 작업 실행이 취소됩니다. |
FAILED | ERROR | 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 이벤트를 사용하면 재시도 정책을 포함하는 작업에서 생성된 드라이버 포드를 모니터링할 수 있습니다. 자세한 내용은 이 안내서의 재시도 정책으로 작업 모니터링 섹션을 참조하세요.