View a markdown version of this page

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

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

AWSSupport-CollectSAPHANALogs

描述

AWSSupport-CollectSAPHANALogs运行手册在部署时从 SAP HANA 收集亚马逊弹性计算云 (Amazon EC2) 实例上的系统日志,该实例是 SAP 的一部分。 AWS Amazon EC2 实例必须由 AWS Systems Manager (Systems Manager)管理。运行手册会检查所需的软件包并在缺失时进行安装,针对检测到的操作系统运行相应的日志收集工具,并可选择将收集的日志上传到亚马逊简单存储服务 (Amazon S3) 存储桶。

重要

此运行手册要求/var/log分区上至少有 200 MB 的可用磁盘空间。运行此运行手册可能会在目标 Amazon EC2 实例上安装其他软件包。您必须通过将Acknowledgement参数设置为来确认这一点Yes。在 Amazon S3 中存储日志会产生标准的 Amazon S3 存储和请求费用。

支持的操作系统

  • Red Hat Enterprise Linux8.4 及更高版本

  • SUSE Linux Enterprise Server12 SP5

  • SUSE Linux Enterprise Server15 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 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称(ARN)。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

  • InstanceID

    类型:: AWS::EC2::Instance: ID

    描述:(必填)运行 SAP 工作负载的 Amazon EC2 实例的 ID,应从中收集日志。

  • 确认

    类型:字符串

    有效值:是

    描述:(必填)我确认本运行手册可能会在目标 Amazon EC2 实例中安装其他软件包以进行日志收集。

  • S3 LogDestination

    类型:: AWS::S3::Bucket: 姓名

    描述:(可选)将日志上传到的 Amazon S3 存储桶的名称。存储桶不能是公开的,并且必须属于同一个 AWS 账户。如果未提供,则日志存储在实例本地存储中。

  • S3Prefix

    类型:字符串

    默认: AWSSupport-CollectSAPHANALogs

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

    描述:(可选)存储日志的 Amazon S3 存储桶前缀。如果未提供,则默认为AWSSupport-CollectSAPHANALogs

  • 安装 AWSCLI

    类型:字符串

    有效值:是 | 否

    默认:否

    描述:(可选)是否在实例上安装 AWS CLI。如果是Yes,则运行手册会安装 AWS CLI(如果还没有)。

所需的 IAM 权限

AutomationAssumeRole 参数需要执行以下操作才能成功使用运行手册。

  • 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如果实例未被托管,则运行手册将被取消。

  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。如果未提供存储桶,则运行手册将跳至。GenerateReport否则,它会继续CheckS3BucketPublicStatus

  5. CheckS3BucketPublicStatus-检查中指定的 Amazon S3 存储桶S3LogDestination是否配置了服务器端加密 (SSE),以及它是否允许匿名或公开读取或写入访问权限。还会验证实际的存储桶拥有者是否与预期的存储桶拥有者相同。如果此步骤失败,则运行手册将继续运行GenerateReport而不上传。

  6. UploadLogsToS3-将收集的日志上传到指定的 Amazon S3 存储桶。如果设置InstallAWSCLIYes,但未安装 AWS CLI,则脚本会在上传之前安装 AWS CLI。

  7. GenerateReport-生成日志收集过程报告。如果提供了 Amazon S3 存储桶,则它会包含上传日志的 Amazon S3 存储桶名称和前缀。如果不是,则表示日志存储在实例本地。它还会报告任何先前步骤失败的原因。

输出

GenerateReport.Summary-日志收集结果摘要。

GenerateReport.LogLocation-存储日志的位置,可以是实例上的本地路径,也可以是 Amazon S3 URI。

GenerateReport.Status-日志收集执行的总体状态。

说明

按照这些步骤对自动化进行配置:

  1. AWSSupport-CollectSAPHANALogs在 Systems Manager 的 “文档” 下导航至。

  2. 选择 Execute automation(执行自动化)。

  3. 对于输入参数,请输入以下内容:

    • AutomationAssumeRole (可选):

      允许 Systems Manager Automation 代表你执行操作的 IAM 角色的 ARN。如果未指定角色,Systems Manager Automation 将使用启动此运行手册的用户的权限。

    • 实例 ID(必填):

      运行 SAP 工作负载的 Amazon EC2 实例的 ID。

    • 致谢(必填):

      输入Yes以确认运行手册可能会在目标 Amazon EC2 实例上安装其他软件包。

    • S3LogDestination (可选):

      要将日志上传到的 Amazon S3 存储桶的名称。如果未提供,则日志存储在实例本地。

    • S3Prefix(可选):

      存储日志的 Amazon S3 存储桶前缀。默认值为 AWSSupport-CollectSAPHANALogs

    • 安装AWSCLI (可选):

      如果实例上没有 AWS CLI,请选择Yes自动安装 CLI。默认值为 No

  4. 选择执行。

  5. 自动化启动。

  6. 文档将执行以下步骤:

    • AssertInstanceIsSSMManaged

      验证目标 Amazon EC2 实例是否由 Systems Manager 管理并且为PingStatusOnline

    • GetInstanceInformation

      检索有关指定 Amazon EC2 实例的信息,包括平台名称。

    • CollectLogs

      运行 shell 脚本以使用 for SLES 或 sos report f supportconfig or 收集日志RHEL。对于 HA 集群,还可以使用收集过去 7 天的 HA 日志crm report

    • BranchOnS3BucketProvided

      GenerateReport如果未提供 Amazon S3 存储桶,则跳至,否则继续执行。CheckS3BucketPublicStatus

    • CheckS3BucketPublicStatus

      验证 Amazon S3 存储桶已启用 SSE、不允许公开访问且归同一个 AWS 账户所有。

    • UploadLogsToS3

      将收集的日志上传到指定的 Amazon S3 存储桶。如果InstallAWSCLI是,则安装 AWS CLIYes,但它还不存在。

    • GenerateReport

      生成日志收集结果的摘要,包括日志位置和任何步骤失败。

  7. 完成后,请查看 “输出” 部分,了解执行的详细结果。

参考

Systems Manager Automation