

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

# 모니터링 구성을 사용하여 Spark Kubernetes 운영자 및 Spark 작업 모니터링을 참조하세요.
<a name="spark-operator-monitoring-configuration"></a>

모니터링 구성을 사용하면 Spark 애플리케이션 및 운영자 로그의 로그 아카이빙을 Amazon S3 또는 Amazon CloudWatch에 쉽게 설정할 수 있습니다. 사용자는 하나 또는 둘 다를 선택할 수 있습니다. 이 작업을 수행하면 Spark 운영자 포드, 드라이버 및 실행기 포드에 로그 에이전트 사이드카가 추가되고 이후에 이러한 구성 요소의 로그가 구성된 싱크에 전달됩니다.

## 사전 조건
<a name="spark-operator-monitoring-configuration-prereqs"></a>

모니터링을 구성하기 전에 다음 설정 작업을 완료하세요.

1. (선택 사항) 이미 이전 버전의 Spark 운영자를 설치한 경우 *SparkApplication/ScheduledSparkApplication* CRD를 삭제합니다.

   ```
   kubectl delete crd scheduledsparkapplications.sparkoperator.k8s.io
   kubectl delete crd sparkapplications.sparkoperator.k8s.io
   ```

1. IAM에 운영자/작업 실행 역할이 아직 없는 경우 생성합니다.

1. 다음 명령을 실행하여 방금 생성한 운영자/작업 실행 역할의 신뢰 정책을 업데이트합니다.

   ```
   aws emr-containers update-role-trust-policy \ 
   --cluster-name {{cluster}} \
   --namespace {{namespace}} \
   --role-name {{iam_role_name_for_operator/job_execution_role}}
   ```

1. 운영자/작업 실행 역할의 IAM 역할 신뢰 정책을 다음과 같이 편집합니다.

   ```
   {
       "Effect": "Allow",
       "Principal": {
           "Federated": "${OIDC-provider}"
       },
       "Action": "sts:AssumeRoleWithWebIdentity",
       "Condition": {
           "StringLike": {
               "OIDC_PROVIDER:sub": "system:serviceaccount:${Namespace}:emr-containers-sa-*"
           }
       }
   }
   ```

1. 다음 권한을 사용하여 IAM에서 *monitoringConfiguration* 정책을 생성합니다.

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "logs:DescribeLogStreams",
           "logs:CreateLogStream",
           "logs:CreateLogGroup",
           "logs:PutLogEvents"
         ],
         "Resource": [
           "arn:aws:logs:*:*:log-group:{{log_group_name}}",
           "arn:aws:logs:*:*:log-group:{{log_group_name}}:*"
         ],
         "Sid": "AllowLOGSDescribelogstreams"
       },
       {
         "Effect": "Allow",
         "Action": [
           "logs:DescribeLogGroups"
         ],
         "Resource": [
           "*"
         ],
         "Sid": "AllowLOGSDescribeloggroups"
       },
       {
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:ListBucket"
         ],
         "Resource": [
           "arn:aws:s3:::{{bucket_name}}",
           "arn:aws:s3:::{{bucket_name}}/*"
         ],
         "Sid": "AllowS3Putobject"
       }
     ]
   }
   ```

------

1. 위의 정책을 운영자/작업 실행 역할에 첨부하세요.