

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# モニタリング設定を使用した、Spark Kubernetes オペレータと Spark ジョブのモニタリング
<a name="spark-operator-monitoring-configuration"></a>

モニタリング設定を使用することにより、Spark アプリケーションとオペレータログのログアーカイブを Amazon S3 または Amazon CloudWatchに簡単に設定できます。1 つまたは両方を選択することができます。これにより、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. オペレータ/ジョブ実行ロールにポリシーを添付します。