

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

# `AWSSupport-CollectECSInstanceLogs`
<a name="automation-awssupport-collectecsinstancelogs"></a>

 **描述** 

 `AWSSupport-CollectECSInstanceLogs` 运行手册从 Amazon Elastic Compute Cloud (Amazon EC2) 实例收集操作系统和 Amazon Elastic Container Service (Amazon ECS) 相关日志文件，以帮助解决常见的 Amazon ECS 问题。当自动化收集关联的日志文件时，会对文件系统进行更改。这些更改包括创建临时目录和日志目录、将日志文件复制到这些目录，以及将日志文件压缩到档案中。

 如果您为`LogDestination`参数指定值，则目标实例必须安装适用于 Linux 实例的 AWS 命令行界面 (AWS CLI) 或适用 PowerShell 于 Windows 的 Windows AWS 工具。自动化会评估您指定的亚马逊简单存储服务 (Amazon S3) 存储桶的策略状态。为了帮助保护从 Amazon EC2 实例收集的日志的安全，如果策略状态 `isPublic` 设置为 `true`，或者如果访问控制列表（ACL）向 `All Users` Amazon S3 预定义组授予 `READ|WRITE` 权限，日志将不会上传。此外，如果提供的存储桶在您的账户中不可用，日志将不会上传。有关 Amazon S3 预定义 g 组的更多信息，请参阅[亚马逊*简单存储服务用户指南中的 Amazon* S3 预定义组](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#specifying-grantee-predefined-groups)。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-CollectECSInstanceLogs) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ ECSInstance我是

  类型：字符串

  描述：（必需）需要收集日志的实例 ID。指定的实例必须由 Systems Manager 托管。
+ LogDestination

  类型：字符串

  描述：（可选）您中 AWS 账户 用于上传存档日志的 Amazon S3 存储桶。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+  `ssm:ListCommandInvocations` 
+  `ssm:ListCommands` 
+  `ssm:SendCommand` 
+  `ssm:DescribeInstanceInformation` 

 建议您在 `ECSInstanceId` 参数中指定的 Amazon EC2 实例具有一个附加了 `AmazonSSMManagedInstanceCore` Amazon 托管策略的 IAM 角色。要将日志档案上传到您在 `LogDestination` 参数中指定的 Amazon S3 存储桶，您必须添加以下权限：
+  `s3:PutObject` 
+  `s3:ListBucket` 
+  `s3:GetBucketPolicyStatus` 
+  `s3:GetBucketAcl` 

 **文档步骤** 
+  `assertInstanceIsManaged` - 验证您在 `ECSInstanceId` 参数中指定的实例是否由 Systems Manager 管理。
+  `getInstancePlatform` - 获取您在 `ECSInstanceId` 参数中指定的实例的操作系统 (OS) 平台的相关信息。
+  `verifyInstancePlatform` - 根据 OS 平台对自动化进行分支。
+  `runLogCollectionScriptOnLinux` - 在 Linux 实例上收集操作系统和 Amazon ECS 相关日志文件，并在 `/var/log/collectECSlogs` 目录中创建一个归档文件。
+  `runLogCollectionScriptOnWindows` - 在 Windows 实例上收集操作系统和 Amazon ECS 相关日志文件，并在 `C:\ProgramData\collectECSlogs` 目录中创建一个归档文件。
+  `verifyIfS3BucketProvided` - 验证是否为 `LogDestination` 参数指定了一个值。
+  `runUploadScript` - 基于操作系统平台对自动化步骤进行分支。
+  `runUploadScriptOnLinux` - 将日志档案上传到 `LogDestination` 参数中指定的 Amazon S3 存储桶，并从操作系统中删除归档的日志文件。
+  `runUploadScriptOnWindows` - 将日志档案上传到 `LogDestination` 参数中指定的 Amazon S3 存储桶，并从操作系统中删除归档的日志文件。