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

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

将 CloudWatch Logs 与 AWS Batch 结合使用

您可以配置作业以将日志信息发送到 CloudWatch Logs。这使您能够在一个方便的位置查看作业中的不同日志。本主题可帮助您在通过 CloudWatch Logs 启动的任务上开始使用 Amazon ECS-optimized Amazon Linux AMI。

有关将日志从作业发送到 CloudWatch Logs 的信息,请参阅使用 awslogs 日志驱动程序。有关 CloudWatch Logs 的更多信息,请参阅 https://docs.amazonaws.cn/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html 中的Amazon CloudWatch 用户指南监控日志文件

CloudWatch Logs IAM 策略

您必须先创建一个 CloudWatch Logs 策略以允许容器实例使用 IAM CloudWatch Logs,然后将该策略附加到 APIs,然后您的作业才能将日志数据发送到 ecsInstanceRole

创建 ECS-CloudWatchLogs IAM 策略

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

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

  3. 依次选择创建策略JSON

  4. 输入以下策略:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Resource": [ "arn:aws-cn:logs:*:*:*" ] } ] }
  5. 选择查看策略

  6. 查看策略页面上,为名称输入 ECS-CloudWatchLogs,然后选择创建策略

ECS-CloudWatchLogs 策略附加到 ecsInstanceRole

  1. 通过以下网址打开 IAM 控制台:https://console.amazonaws.cn/iam/

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

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

  4. 依次选择 Permissions (权限)Attach policies (附加策略)

  5. 要缩小要附加的可用策略的范围,请为筛选条件键入 ECS-CloudWatchLogs

  6. 选择 ECS-CloudWatchLogs 策略,然后选择 Attach policy (附加策略)

安装和配置 CloudWatch 代理

在将 ECS-CloudWatchLogs 策略添加到您的 ecsInstanceRole 后,可以在容器实例上安装 CloudWatch 代理。

有关更多信息,请参阅 中的CloudWatch使用命令行下载和配置 代理。Amazon CloudWatch 用户指南

查看CloudWatch Logs

在向容器实例授予将日志发送到 CloudWatch Logs 的适当权限并配置和启动代理后,容器实例应将其日志数据发送到 CloudWatch Logs。您可以在 AWS 管理控制台中查看和搜索这些日志。

注意

新实例启动可能需要几分钟才能将数据发送到 CloudWatch Logs。

查看您的 CloudWatch Logs 数据

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 在左侧导航窗格中,依次选择 Logs (日志)Log groups (日志组)

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

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

    
      CloudWatch 控制台日志事件