将 CloudWatch Logs 与Amazon Batch结合使用 - Amazon Batch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

将 CloudWatch Logs 与Amazon Batch结合使用

可以配置 EC2 资源上的Amazon Batch作业,将详细的日志信息和指标发送到 CloudWatch Logs。这样就可以在同一个方便的位置查看作业中的不同日志。有关 CloudWatch Logs 的更多信息,请参阅《Amazon CloudWatch 用户指南》中的什么是 Amazon CloudWatch Logs?

注意

默认情况下,AmazonFargate 容器的 CloudWatch Logs 处于开启状态。

要开启和自定义 CloudWatch Logs 日志记录,请查看以下一次性配置任务:

  • 对于基于 EC2 资源的Amazon Batch计算环境,请向ecsInstanceRole角色添加 IAM policy。有关更多信息,请参阅添加 CloudWatch Logs IAM policy

  • 创建包含详细的 CloudWatch 监控的 Amazon EC2 启动模板,然后在创建Amazon Batch计算环境时指定该模板。也可以在现有映像上安装 CloudWatch 代理,然后在Amazon Batch首次运行向导中指定该映像。

  • (可选)配置 awslogs 驱动程序。可以添加用于更改 EC2 和 Fargate 资源默认行为的参数。有关更多信息,请参阅使用 awslogs 日志驱动程序

添加 CloudWatch Logs IAM policy

在作业向 CloudWatch Logs 发送日志数据和详细指标之前,必须创建使用 CloudWatch Logs API 的 IAM policy。创建 IAM policy 后,将其附加到ecsInstanceRole角色。

注意

如果该ECS-CloudWatchLogs策略未附加到该ecsInstanceRole角色,则基本指标仍然可以发送到 CloudWatch Logs。但是,基本指标不包括日志数据或详细指标,例如可用磁盘空间。

Amazon Batch计算环境使用 Amazon EC2 资源。使用Amazon Batch首次运行向导创建计算环境时,Amazon Batch会创建ecsInstanceRole角色并配置环境。

如果未使用首次运行向导,则可以在Amazon Command Line Interface或Amazon Batch API 中创建计算环境时指定ecsInstanceRole角色。有关更多信息,请参阅Amazon CLI命令参考Amazon BatchAPI 参考

创建ECS-CloudWatchLogs IAM policy
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择策略

  3. 选择创建策略

  4. 选择 JSON,然后输入以下策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws:logs:*:*:*" ] } ] }
  5. 选择下一步:标签

  6. (可选)对于添加标签,选择添加标签以向策略添加标签。

  7. 选择下一步:查看

  8. 查看策略页面上,对于名称,输入ECS-CloudWatchLogs;然后输入可选的描述

  9. 选择创建策略

ECS-CloudWatchLogs策略附加到ecsInstanceRole
  1. 通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/

  2. 在导航窗格中,选择角色

  3. 选择ecsInstanceRole。如果角色不存在,请按照Amazon ECS 实例角色中的程序来创建角色。

  4. 选择添加权限,然后选择附加策略

  5. 选择 ECS-CloudWatchLogs 策略,然后选择附加策略

安装和配置 CloudWatch 代理

可以创建 Amazon EC2 启动模板,其中包含 CloudWatch 监控。有关更多信息,请参阅《Amazon EC2 用户指南(适用于 Linux 实例)》中的从启动模板启动实例高级详细信息

还可以在现有的 Amazon EC2 AMI 上安装 CloudWatch 代理,然后在Amazon Batch首次运行向导中指定映像。有关更多信息,请参阅安装 CloudWatch 代理入门Amazon Batch。

注意

Amazon Fargate资源不支持启动模板。

查看 CloudWatch Logs

可以在Amazon Web Services Management Console中查看和搜索 CloudWatch Logs 日志。

注意

可能需要几分钟来显示在 CloudWatch Logs 中的数据。

要查看 CloudWatch Logs 数据
  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在左侧导航窗格中,选择日志,然后选择日志组

    
            CloudWatch 控制台日志组
  3. 选择要查看的日志组。

    
            CloudWatch 控制台日志流
  4. 选择要查看的日志流。默认情况下,数据流由作业名称的前 200 个字符和 Amazon ECS 任务 ID 进行标识。

    提示

    要下载日志流数据,请选择操作

    
            CloudWatch 控制台日志事件