View a markdown version of this page

AWSSupport-CollectECSInstanceLogs - AWS Systems Manager Automation Runbook 參考

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWSSupport-CollectECSInstanceLogs

Description

AWSSupport-CollectECSInstanceLogs Runbook 會從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體收集作業系統和 Amazon Elastic Container Service (Amazon ECS) 相關日誌檔案,以協助您疑難排解常見的 Amazon ECS 問題。當自動化收集相關聯的日誌檔案時,會變更檔案系統。這些變更包括建立暫時目錄和日誌目錄、將日誌檔案複製到這些目錄,以及將日誌檔案壓縮為封存。

如果您指定 LogDestination 參數的值,則目標執行個體必須安裝 Linux 執行個體的 AWS 命令列界面 (AWS CLI) 或適用於 Windows 執行個體的 AWS Tools for Windows PowerShell。自動化會評估您指定的 Amazon Simple Storage Service (Amazon S3) 儲存貯體的政策狀態。為了協助保護從 Amazon EC2 執行個體收集之日誌的安全性,如果政策狀態isPublic設定為 true ,或存取控制清單 (ACL) 將READ|WRITE許可授予 All Users Amazon S3 預先定義的群組,則不會上傳日誌。此外,如果您帳戶中無法使用提供的儲存貯體,則不會上傳日誌。如需 Amazon S3 預先定義 g 陣營的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 預先定義群組

執行此自動化 (主控台)

文件類型

 自動化

擁有者

Amazon

平台

Linux、Windows

參數

  • AutomationAssumeRole

    類型:字串

    描述:(選用) 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。

  • ECSInstanceId

    類型:字串

    描述:(必要) 您要從中收集日誌的執行個體 ID。您指定的執行個體必須由 Systems Manager 管理。

  • LogDestination

    類型:字串

    描述:(選用) AWS 帳戶 要上傳封存日誌的 Amazon S3 儲存貯體。

必要的 IAM 許可

AutomationAssumeRole 參數需要下列動作才能成功使用 Runbook。

  • ssm:ListCommandInvocations

  • ssm:ListCommands

  • ssm:SendCommand

  • ssm:DescribeInstanceInformation

建議您在 ECSInstanceId 參數中指定的 Amazon EC2 執行個體具有連接 Amazon 受管政策的 IAM AmazonSSMManagedInstanceCore 角色。若要將日誌封存上傳至您在 LogDestination 參數中指定的 Amazon S3 儲存貯體,您必須新增下列許可:

  • s3:PutObject

  • s3:ListBucket

  • s3:GetBucketPolicyStatus

  • s3:GetBucketAcl

文件步驟

  • assertInstanceIsManaged - 驗證您在 ECSInstanceId 參數中指定的執行個體是否由 Systems Manager 管理。

  • getInstancePlatform - 取得 ECSInstanceId 參數中指定之執行個體的作業系統 (OS) 平台相關資訊。

  • verifyInstancePlatform - 根據作業系統平台分支自動化。

  • 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 儲存貯體,並從作業系統刪除封存的日誌檔案。