기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
작업 모니터링
주제
Amazon CloudWatch 이벤트를 통한 작업 모니터링
Amazon EMR on EKS에서는 작업 실행 상태가 변경될 때 이벤트를 생성합니다. 각 이벤트는 가상 클러스터 ID 및 영향을 받은 작업 실행 ID와 같은 이벤트에 대한 추가 세부 정보와 함께 이벤트가 생성된 날짜 및 시간과 같은 정보를 제공합니다.
이벤트를 사용하여 가상 클러스터에서 실행하는 작업의 활동 및 상태를 추적할 수 있습니다. 또한 Amazon CloudWatch Events를 사용하여 작업 실행으로 지정된 패턴과 일치하는 이벤트가 생성될 때 취할 조치를 정의할 수 있습니다. 이벤트는 작업 실행 수명 주기 동안 특정 발생을 모니터링하는 데 유용합니다. 예를 들어, 작업 실행 상태가 submitted
에서 running
으로 변경되는 시기를 모니터링할 수 있습니다. CloudWatch 이벤트에 대한 자세한 내용은 Amazon EventBridge 사용 설명서를 참조하십시오.
다음 테이블에는 Amazon EMR on EKS 이벤트와 함께 이벤트가 나타내는 상태 또는 상태 변경, 이벤트의 심각도 및 이벤트 메시지가 나와 있습니다. 각 이벤트는 자동으로 이벤트 스트림으로 전송되는 JSON 객체로 표시됩니다. JSON 객체에는 이벤트에 대한 추가 세부 정보가 포함되어 있습니다. 규칙은 JSON 객체의 패턴과 일치하도록 하기 때문에 CloudWatch 이벤트를 사용하여 이벤트 처리 규칙을 설정할 때는 JSON 객체가 특히 중요합니다. 자세한 내용은 Amazon 사용 설명서의 Amazon EventBridge 이벤트 패턴 및 EKS 이벤트의 Amazon EventBridge EMR을 참조하십시오.
작업 실행 상태 변경 이벤트 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
State | 심각도 | 메시지 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUBMITTED | INFO | Job Run JobRunId (JobRunName ) 이 UTC VirtualClusterId 시간에 가상 클러스터에 성공적으로 제출되었습니다. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
실행 중(RUNNING) | INFO | 가상 클러스터의 Job Run JobRunId (JobRunName ) 이 시간에 실행되기 시작했습니다. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
완료됨 | INFO | 가상 클러스터의 Job Run jobRunId (JobRunName ) 이 시간에 완료되었습니다. 이 작업 실행이 Time 에 실행을 시작했고 완료되는 데 Num 분이 걸렸습니다. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
취소됨 | WARN | 가상 클러스터의 Job Run |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FAILED | ERROR | 가상 클러스터의 Job Run JobRunId (JobRunName ) 이 타임에 실패했습니다. |
이벤트를 사용하여 EKS에서 Amazon EMR을 자동화하세요 CloudWatch
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) 주제 또는 (SQS) 대기열에 Amazon Simple Queue Service 알림
EKS에서 Amazon EMR과 함께 CloudWatch 이벤트를 사용하는 몇 가지 예는 다음과 같습니다.
-
작업 실행에 성공하면 Lambda 함수 활성화
-
작업 실행에 실패하면 Amazon SNS 주제 알림
CloudWatch “" detail-type:
EMR Job Run State Change
"“에 대한 이벤트는 EKS의 Amazon EMR에서SUBMITTED
, RUNNING
CANCELLED
, FAILED
및 COMPLETED
상태 변경에 대해 생성합니다.
예제: Lambda를 간접 호출하는 규칙 설정
다음 단계를 사용하여 “EMR Job Run 상태 변경” CloudWatch 이벤트가 있을 때 Lambda를 호출하는 이벤트 규칙을 설정하십시오.
aws events put-rule \ --name cwe-test \ --event-pattern '{"detail-type": ["EMR Job Run State Change"]}'
소유한 Lambda 함수를 새 대상으로 추가하고 다음과 같이 Lambda 함수를 호출할 권한을 Events에 CloudWatch 부여합니다. 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 이벤트를 사용하면 재시도 정책이 있는 작업에서 생성된 드라이버 포드를 모니터링할 수 있습니다. 자세한 내용은 이 안내서의 재시도 정책으로 작업 모니터링 섹션을 참조하세요.