

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将任务运行配置为使用 Amazon CloudWatch 日志
<a name="emr-eks-jobs-cloudwatch"></a>

要监控任务进度并排除故障，您必须将任务配置为向 Amazon S3、Amazon Logs 或两者发送 CloudWatch 日志信息。本主题可帮助您开始在 EKS 上使用 Amazon EMR 启动的任务上使用 CloudWatch 日志。有关 CloudWatch 日志的更多信息，请参阅 Amazon CloudWatch 用户指南中的[监控日志文件](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html)。

**CloudWatch 日志 IAM 策略**

要将日志数据发送到 CloudWatch 日志，任务执行角色的权限策略中必须包含以下权限。将*my\$1log\$1group\$1name*和*my\$1log\$1stream\$1prefix*，分别替换为 CloudWatch 日志组的名称和日志流名称。如果日志组和日志流式传输不存在，只要执行角色 ARN 具有适当的权限，则 Amazon EMR on EKS 将创建这些日志组和日志流式传输。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "arn:aws:logs:*:*:*"
      ],
      "Sid": "AllowLOGSCreatelogstream"
    },
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:my_log_group_name:log-stream:my_log_stream_prefix/*"
      ],
      "Sid": "AllowLOGSPutlogevents"
    }
  ]
}
```

------

**注意**  
Amazon EMR on EKS 还可以创建日志流。如果日志流不存在，IAM policy 应包含 `"logs:CreateLogGroup"` 权限。

在您为执行角色授予适当的权限后，您的应用程序会在`start-job-run`请求`monitoringConfiguration`部分中传递其 CloudWatch 日志数据时`cloudWatchMonitoringConfiguration`将其日志数据发送到 Logs，如所示[使用管理作业运行 AWS CLI](emr-eks-jobs-CLI.md)。

在 `StartJobRun` API 中，*log\$1group\$1name *是的日志组名称 CloudWatch，*log\$1stream\$1prefix*是的日志流名称前缀 CloudWatch。您可以在 AWS 管理控制台中查看和搜索这些日志。
+ 提交者日志-*virtual-cluster-id* ///jobs*logGroup*//c *job-id* ontainers*logStreamPrefix*//(stderr/ *pod-name* stdout)
+ 驱动程序日志-*virtual-cluster-id* ///jobs*logGroup*//containers*logStreamPrefix*//spark--driv *job-id* er/ (stderrstdout) *spark-application-id* *job-id*
+ 执行者日志-*virtual-cluster-id* ///jobs*logGroup*//containers*logStreamPrefix*///(st *job-id* derr/stdout*spark-application-id*) *executor-pod-name*