View a markdown version of this page

AWSSupport-CollectSAPHANALogs - AWS Systems Manager Automation Runbook 參考

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

AWSSupport-CollectSAPHANALogs

Description

AWSSupport-CollectSAPHANALogs Runbook 會從 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上的 SAP HANA 收集系統日誌,這是 AWS 部署時 SAP 的一部分。Amazon EC2 執行個體必須由 AWS Systems Manager (Systems Manager) 管理。Runbook 會檢查必要的套件,並在遺失時安裝它們、針對偵測到的作業系統執行適當的日誌收集工具,以及選擇性地將收集到的日誌上傳至 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

重要

此 Runbook 需要/var/log分割區上至少 200 MB 的可用磁碟空間。執行此 Runbook 可能會在目標 Amazon EC2 執行個體上安裝其他套件。您必須將 Acknowledgement 參數設定為 來確認這一點Yes。在 Amazon S3 中存放日誌會產生標準 Amazon S3 儲存和請求費用。

支援的作業系統

  • Red Hat Enterprise Linux 8.4 和更新版本

  • SUSE Linux Enterprise Server 12 SP5

  • SUSE Linux Enterprise Server 15 SP3 及更新版本

如果遺失,則會安裝套件

SUSE Linux Enterprise Server:

  • supportutils

  • yast2-support

  • supportutils-plugin-suse-public-cloud

  • supportutils-plugin-ha-sap

  • crmsh

  • unzip

  • curl

  • aws-cli (選用,如果 InstallAWSCLI 設定為 則安裝Yes)

Red Hat Enterprise Linux:

  • sos

  • crm_report

  • unzip

  • curl

  • aws-cli (選用,如果 InstallAWSCLI 設定為 則安裝Yes)

執行此自動化 (主控台)

文件類型

 自動化

擁有者

Amazon

平台

Linux

參數

  • AutomationAssumeRole

    類型:字串

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

  • InstanceID

    類型:AWS::EC2::Instance::Id

    描述:(必要) 執行 SAP 工作負載的 Amazon EC2 執行個體 ID,應從中收集日誌。

  • 確認

    類型:字串

    有效值:是

    描述:(必要) 我確認此 Runbook 可能會在目標 Amazon EC2 執行個體中安裝其他套件以進行日誌收集。

  • S3LogDestination

    類型:AWS::S3::Bucket::Name

    描述:(選用) 日誌上傳到的 Amazon S3 儲存貯體名稱。儲存貯體不得為公有,且必須屬於相同的 AWS 帳戶。如果未提供,日誌會存放在執行個體本機儲存體中。

  • S3Prefix

    類型:字串

    預設:AWSSupport-CollectSAPHANALogs

    允許模式: ^$|^[a-zA-Z0-9][-./a-zA-Z0-9]{0,255}$

    描述:(選用) 存放日誌的 Amazon S3 儲存貯體字首。如果未提供,則預設為 AWSSupport-CollectSAPHANALogs

  • InstallAWSCLI

    類型:字串

    有效值:是 | 否

    預設:否

    描述:(選用) 是否要在執行個體上安裝 AWS CLI。如果 Yes,如果尚未存在,則 Runbook 會安裝 AWS CLI。

必要的 IAM 許可

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

  • ssm:DescribeInstanceInformation

  • ssm:SendCommand

  • ssm:GetCommandInvocation

  • s3:GetBucketPublicAccessBlock

  • s3:GetBucketAcl

  • s3:GetBucketLocation

  • s3:GetBucketOwnershipControls

  • s3:GetEncryptionConfiguration

  • s3:PutObject

文件步驟

  1. AssertInstanceIsSSMManaged - 驗證目標 Amazon EC2 執行個體是由 Systems Manager 管理,且具有 PingStatusOnline。如果未管理執行個體,則 Runbook 會取消。

  2. GetInstanceInformation - 擷取指定 Amazon EC2 執行個體的相關資訊,包括平台名稱,用於判斷適當的日誌收集方法。

  3. CollectLogs - 在執行個體上執行 shell 指令碼以收集日誌。對於 SUSE Linux Enterprise Server 執行個體,指令碼使用 supportconfig。對於Red Hat Enterprise Linux執行個體,它使用 sos report。對於 HA 叢集,指令碼也會使用 crm report命令收集過去 7 天的其他 HA 日誌。如果遺失,則會安裝必要的套件。

  4. BranchOnS3BucketProvided - 根據 中是否提供 Amazon S3 儲存貯體來分支執行S3LogDestination。如果未提供儲存貯體,則 Runbook 會跳至 GenerateReport。否則,它會繼續執行 CheckS3BucketPublicStatus

  5. CheckS3BucketPublicStatus - 檢查 中指定的 Amazon S3 儲存貯體是否已S3LogDestination設定伺服器端加密 (SSE),以及是否允許匿名或公有讀取或寫入存取許可。也會驗證實際儲存貯體擁有者是否與預期的儲存貯體擁有者相同。如果此步驟失敗,則 Runbook GenerateReport會繼續執行而不上傳。

  6. UploadLogsToS3 - 將收集的日誌上傳至指定的 Amazon S3 儲存貯體。如果 InstallAWSCLI 設定為 AWS Yes且未安裝 CLI,指令碼會在上傳之前安裝 AWS CLI。

  7. GenerateReport - 產生日誌收集程序的報告。如果提供了 Amazon S3 儲存貯體,則會包含上傳日誌的 Amazon S3 儲存貯體名稱和字首。如果沒有,則表示日誌存放在本機執行個體上。它還報告了為什麼任何先前的步驟失敗。

輸出

GenerateReport.Summary - 日誌收集結果的摘要。

GenerateReport.LogLocation - 存放日誌的位置,可能是執行個體上的本機路徑或 Amazon S3 URI。

GenerateReport.Status - 日誌收集執行的整體狀態。

指示

請依照下列步驟設定自動化:

  1. 在文件下的 Systems Manager AWSSupport-CollectSAPHANALogs中導覽至 。

  2. 選擇 Execute automation (執行自動化)。

  3. 針對輸入參數,輸入下列內容:

    • AutomationAssumeRole (選用):

      允許 Systems Manager Automation 代表您執行動作的 IAM 角色 ARN。如果未指定角色,Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。

    • InstanceID (必要):

      執行 SAP 工作負載的 Amazon EC2 執行個體 ID。

    • 確認 (必要):

      輸入 Yes 以確認 Runbook 可能會在目標 Amazon EC2 執行個體上安裝其他套件。

    • S3LogDestination (選用):

      要上傳日誌的 Amazon S3 儲存貯體名稱。如果未提供,日誌會儲存在本機執行個體上。

    • S3Prefix (選用):

      存放日誌的 Amazon S3 儲存貯體字首。預設為 AWSSupport-CollectSAPHANALogs

    • InstallAWSCLI (選用):

      如果執行個體上沒有 AWS CLI,請選取 Yes 以自動安裝該 CLI。預設為 No

  4. 選取執行。

  5. 自動化會啟動。

  6. 文件會執行下列步驟:

    • AssertInstanceIsSSMManaged

      驗證目標 Amazon EC2 執行個體是由 Systems Manager 管理,且具有 PingStatusOnline

    • GetInstanceInformation

      擷取指定 Amazon EC2 執行個體的相關資訊,包括平台名稱。

    • CollectLogs

      使用 supportconfig for SLES或 sos report for 執行 shell 指令碼以收集日誌RHEL。對於 HA 叢集, 也會使用 收集過去 7 天的 HA 日誌crm report

    • BranchOnS3BucketProvided

      GenerateReport 如果未提供 Amazon S3 儲存貯體,請跳到 ,否則繼續到 CheckS3BucketPublicStatus

    • CheckS3BucketPublicStatus

      確認 Amazon S3 儲存貯體已啟用 SSE、不允許公開存取,且為相同 AWS 帳戶所擁有。

    • UploadLogsToS3

      將收集的日誌上傳至指定的 Amazon S3 儲存貯體。如果 InstallAWSCLIYes且尚未存在,則安裝 AWS CLI。

    • GenerateReport

      產生日誌收集結果的摘要,包括日誌位置和任何步驟失敗。

  7. 完成後,請檢閱輸出區段以取得執行的詳細結果。

參考

Systems Manager Automation