本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWSSupport-CollectECSInstanceLogs
描述
该AWSSupport-CollectECSInstanceLogs
运行手册从亚马逊弹性计算云 (Amazon) 实例收集操作系统和亚马逊弹性容器服务 (Amazon ECS) 相关的日志文件,以帮助您解决常见的 EC2亚马逊 ECS 问题。当自动化收集关联的日志文件时,会对文件系统进行更改。这些更改包括创建临时目录和日志目录、将日志文件复制到这些目录,以及将日志文件压缩到档案中。
如果您为 LogDestination
参数指定一个值,此自动化会评估您指定的 Amazon Simple Storage Service (Amazon S3) 存储桶的策略状态。为了保护从您的 Amazon EC2 实例收集的日志的安全,如果策略状态设置isPublic
为true
,或者如果访问控制列表 (ACL) 向 All Users
Amazon S3 预定义组授予READ|WRITE
权限,则不会上传日志。此外,如果提供的存储桶在您的账户中不可用,日志将不会上传。有关 Amazon S3 预定义组的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的 Amazon S3 预定义组。
文档类型
自动化
所有者
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
参数中指定的亚马逊 EC2 实例具有附加AmazonSSMManagedInstanceCore
亚马逊托管策略的 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 存储桶,并从操作系统中删除归档的日志文件。