

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 監控 Spark 任務
<a name="monitoring-spark-jobs"></a>

如此一來，您就可以監控故障並進行疑難排解，設定互動端點，以便透過端點啟動的作業可以將日誌資訊傳送到 Amazon S3、Amazon CloudWatch Logs 或兩者。以下各章節描述了針對您透過 Amazon EMR on EKS 互動端點啟動的 Spark 作業，如何將 Spark 應用程式日誌傳送至 Amazon S3。

**設定 Amazon S3 日誌的 IAM 政策**

在您的核心將日誌資料傳送到 Amazon S3 之前，作業執行角色的許可政策必須包含下列許可。將 *amzn-s3-demo-destination-bucket* 取代為您的記錄儲存貯體名稱。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::amzn-s3-demo-bucket",
        "arn:aws:s3:::amzn-s3-demo-bucket/*"
      ],
      "Sid": "AllowS3Putobject"
    }
  ]
}
```

------

**注意**  
Amazon EMR on EKS 也可以建立 S3 儲存貯體。如果無法使用 S3 儲存貯體，請在 IAM 政策中包含 `s3:CreateBucket` 許可。

將所需許可授予給執行角色以便將日誌傳送到 S3 儲存貯體之後，您的日誌資料會傳送到以下 Amazon S3 位置。在 `create-managed-endpoint` 請求的 `monitoringConfiguration` 區段中傳遞 `s3MonitoringConfiguration` 時，會發生這種情況。
+ **驅動程式日誌** – `logUri/virtual-cluster-id/endpoints/endpoint-id/containers/spark-application-id/spark-application-id-driver/(stderr.gz/stdout.gz)`
+ **執行程式日誌** – `logUri/virtual-cluster-id/endpoints/endpoint-id/containers/spark-application-id/executor-pod-name-exec-<Number>/(stderr.gz/stdout.gz)`

**注意**  
Amazon EMR on EKS 不會將端點日誌上傳到 S3 儲存貯體。