本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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:
supportutilsyast2-supportsupportutils-plugin-suse-public-cloudsupportutils-plugin-ha-sapcrmshunzipcurlaws-cli(選用,如果InstallAWSCLI設定為 則安裝Yes)
Red Hat Enterprise Linux:
soscrm_reportunzipcurlaws-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
文件步驟
-
AssertInstanceIsSSMManaged- 驗證目標 Amazon EC2 執行個體是由 Systems Manager 管理,且具有PingStatus的Online。如果未管理執行個體,則 Runbook 會取消。 -
GetInstanceInformation- 擷取指定 Amazon EC2 執行個體的相關資訊,包括平台名稱,用於判斷適當的日誌收集方法。 -
CollectLogs- 在執行個體上執行 shell 指令碼以收集日誌。對於 SUSE Linux Enterprise Server 執行個體,指令碼使用supportconfig。對於Red Hat Enterprise Linux執行個體,它使用sos report。對於 HA 叢集,指令碼也會使用crm report命令收集過去 7 天的其他 HA 日誌。如果遺失,則會安裝必要的套件。 -
BranchOnS3BucketProvided- 根據 中是否提供 Amazon S3 儲存貯體來分支執行S3LogDestination。如果未提供儲存貯體,則 Runbook 會跳至GenerateReport。否則,它會繼續執行CheckS3BucketPublicStatus。 -
CheckS3BucketPublicStatus- 檢查 中指定的 Amazon S3 儲存貯體是否已S3LogDestination設定伺服器端加密 (SSE),以及是否允許匿名或公有讀取或寫入存取許可。也會驗證實際儲存貯體擁有者是否與預期的儲存貯體擁有者相同。如果此步驟失敗,則 RunbookGenerateReport會繼續執行而不上傳。 -
UploadLogsToS3- 將收集的日誌上傳至指定的 Amazon S3 儲存貯體。如果InstallAWSCLI設定為 AWSYes且未安裝 CLI,指令碼會在上傳之前安裝 AWS CLI。 -
GenerateReport- 產生日誌收集程序的報告。如果提供了 Amazon S3 儲存貯體,則會包含上傳日誌的 Amazon S3 儲存貯體名稱和字首。如果沒有,則表示日誌存放在本機執行個體上。它還報告了為什麼任何先前的步驟失敗。
輸出
GenerateReport.Summary - 日誌收集結果的摘要。
GenerateReport.LogLocation - 存放日誌的位置,可能是執行個體上的本機路徑或 Amazon S3 URI。
GenerateReport.Status - 日誌收集執行的整體狀態。
指示
請依照下列步驟設定自動化:
-
在文件下的 Systems Manager
AWSSupport-CollectSAPHANALogs中導覽至 。 -
選擇 Execute automation (執行自動化)。
-
針對輸入參數,輸入下列內容:
-
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。
-
-
選取執行。
-
自動化會啟動。
-
文件會執行下列步驟:
-
AssertInstanceIsSSMManaged驗證目標 Amazon EC2 執行個體是由 Systems Manager 管理,且具有
PingStatus的Online。 -
GetInstanceInformation擷取指定 Amazon EC2 執行個體的相關資訊,包括平台名稱。
-
CollectLogs使用
supportconfigfor SLES或sos reportfor 執行 shell 指令碼以收集日誌RHEL。對於 HA 叢集, 也會使用 收集過去 7 天的 HA 日誌crm report。 -
BranchOnS3BucketProvidedGenerateReport如果未提供 Amazon S3 儲存貯體,請跳到 ,否則繼續到CheckS3BucketPublicStatus。 -
CheckS3BucketPublicStatus確認 Amazon S3 儲存貯體已啟用 SSE、不允許公開存取,且為相同 AWS 帳戶所擁有。
-
UploadLogsToS3將收集的日誌上傳至指定的 Amazon S3 儲存貯體。如果
InstallAWSCLI為Yes且尚未存在,則安裝 AWS CLI。 -
GenerateReport產生日誌收集結果的摘要,包括日誌位置和任何步驟失敗。
-
-
完成後,請檢閱輸出區段以取得執行的詳細結果。
參考
Systems Manager Automation