AWSSupport-CollectECSInstanceLogs - AWS Systems Manager 自动化运行手册参考

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

AWSSupport-CollectECSInstanceLogs

描述

AWSSupport-CollectECSInstanceLogs 运行手册从 Amazon Elastic Compute Cloud (Amazon EC2) 实例收集操作系统和 Amazon Elastic Container Service (Amazon ECS) 相关日志文件,以帮助解决常见的 Amazon 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 将使用启动此运行手册的用户的权限。

  • ECS InstanceId

    类型:字符串

    描述:(必需)需要收集日志的实例 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 存储桶,并从操作系统中删除归档的日志文件。