SAP 解决方案的 Workload Manager 使用 Google Cloud的 Agent for SAP 来检测和收集元数据,以评估 SAP 系统配置。如需支持并监控在 Google Cloud上运行的 SAP 系统(包括 SAP NetWeaver、SAP HANA、SAP ASE 和 SAP MaxDB),需要在运行 SAP 系统的所有虚拟机实例上安装 Agent for SAP 和 SAP Host Agent。
以下核对清单总结了您需要执行的任务,以确保 Agent for SAP 设置正确无误:
所需 IAM 角色
Google Cloud的 Agent for SAP 需要使用 Identity and Access Management (IAM) 服务账号,以便向 Google Cloud 进行身份验证并获得访问 Google Cloud 资源的权限。如需收集 Workload Manager 评估指标,无论您是使用新服务账号、现有服务账号还是默认服务账号,该服务账号都必须具有以下 IAM 角色:
- Compute Viewer (
roles/compute.viewer
) - Workload Manager Insights Writer (
roles/workloadmanager.insightWriter
) - Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
)(如果您使用 Secret Manager 存储 SAP HANA 数据库密码)。
安装代理
如果尚未完成,请在托管 SAP 系统的虚拟机上安装 Google Cloud的 Agent for SAP:
如需在 Compute Engine 实例上安装代理,请按照以下步骤操作:
- 与您的计算实例建立 SSH 连接。
- 在您的终端中,通过运行特定于您的操作系统的命令来安装此代理:
- (推荐)如需安装代理 3.9 版(最新版),请运行以下命令:
RHEL
sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM [google-cloud-sap-agent] name=Google Cloud Agent for SAP baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-sap-agent
SLES15
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent sudo zypper install google-cloud-sap-agent
SLES 12
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent sudo zypper install google-cloud-sap-agent
- 如需安装代理的特定版本,请运行以下命令:
RHEL
sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM [google-cloud-sap-agent] name=Google Cloud Agent for SAP baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64
SLES15
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64
SLES 12
sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64
将
VERSION_NUMBER
替换为您要安装的代理的版本号,例如3.1-606637668
。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本。如需了解如何将代理降级到特定版本,请参阅降级 Google Cloud的 Agent for SAP。
- (推荐)如需安装代理 3.9 版(最新版),请运行以下命令:
安装完成后,继续配置代理以收集 Workload Manager 评估指标。
验证代理版本
Google Cloud 建议您安装最新版本的 Agent for SAP,以便准确评估 SAP 工作负载,因为定期发布的 Agent for SAP 版本可能会添加或更改用于评估的指标。
为了确保您使用的是最新版本的 Google Cloud的 Agent for SAP,您需要定期检查更新并相应更新该代理。
检查更新
选择您的操作系统,然后按照以下步骤操作:
RHEL
- 与您的实例建立 SSH 连接。
- 运行以下命令:
sudo yum check-update google-cloud-sap-agent
SLES
- 与您的实例建立 SSH 连接。
- 运行以下命令:
sudo zypper list-updates -r google-cloud-sap-agent
安装更新
选择您的操作系统,然后按照以下步骤操作:
RHEL
- 与您的实例建立 SSH 连接。
- 更新您的代理实例:
- (推荐)如需更新到代理 3.9 版(最新版),请运行以下命令:
sudo yum --nogpgcheck update google-cloud-sap-agent
- 要更新到代理的特定版本,请运行以下命令:
sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64
将
VERSION_NUMBER
替换为您要安装的代理的版本号,例如3.1-606637668
。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本。
- (推荐)如需更新到代理 3.9 版(最新版),请运行以下命令:
SLES
- 与您的实例建立 SSH 连接。
- 更新您的代理实例:
- (推荐)如需更新到代理 3.9 版(最新版),请运行以下命令:
sudo zypper --no-gpg-checks update google-cloud-sap-agent
- 要更新到代理的特定版本,请运行以下命令:
sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64
将
VERSION_NUMBER
替换为您要安装的代理的版本号,例如3.1-606637668
。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本。
- (推荐)如需更新到代理 3.9 版(最新版),请运行以下命令:
配置 Workload Manager 评估指标收集
如需配置 Google Cloud的 Agent for SAP,请完成以下步骤:
如需让代理收集 Workload Manager 评估指标,请运行以下命令:
sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable
可选:如需在 Workload Manager 中启用“SAP HANA 数据分析”和“SAP HANA 安全最佳实践”指标收集功能,请在代理的配置文件中将
workload_validation_db_metrics_config
部分添加到collect_workload_validation_metrics
之后,然后指定以下参数:hana_db_user
:指定用于查询 SAP HANA 实例的用户账号。hostname
:指定托管 SAP HANA 实例的机器(本地或远程)的标识符。port
:指定 SAP HANA 实例接收查询的端口。hana_db_password_secret_name
:指定 Secret Manager 中用来存储用户账号密码的 Secret 的名称。作为 Secret 的替代方案,您可以使用
hdbuserstore_key
配置参数。hdbuserstore_key
:指定hdbuserstore
密钥,它用于对您为hana_db_user
指定的用户进行身份验证如果您指定
hdbuserstore_key
,则跳过指定hostname
和port
参数。
如需了解这些参数,请参阅配置参数。
以下示例是Google Cloud的 Agent for SAP 的已完成配置文件,该代理在Compute Engine 实例上运行,其中启用了 Workload Manager 评估指标收集功能。
对于 SAP HANA 身份验证,代理会按以下优先顺序使用参数:如果指定了
hdbuserstore_key
配置参数,则优先使用该参数,而不是hana_db_password
参数,后者优先于hana_db_password_secret_name
参数。我们建议您在配置文件中仅设置一个身份验证选项。- 以下示例使用安全用户存储区 (
hdbuserstore
) 中的密钥进行 SAP HANA 身份验证:{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hdbuserstore_key": "user_store_key" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下示例使用用户名和 Secret Manager 中的 Secret 进行 SAP HANA 身份验证:
{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password_secret_name": "instance-id-hana-db-password-secret", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下示例使用用户名和密码进行 SAP HANA 身份验证。我们建议您改用 Secret Manager 中的 Secret 或安全用户存储区 (
hdbuserstore
) 中的密钥进行 SAP HANA 身份验证。{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "workload_validation_db_metrics_frequency": 3600, "workload_validation_db_metrics_config": { "hana_db_user": "system", "sid": "DEH", "hana_db_password": "TempPa55word", "hostname": "localhost", "port": "30015" }, "collect_process_metrics": false }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
重启代理以使新设置生效:
sudo systemctl restart google-cloud-sap-agent
代理成功重启后,便会开始将 Workload Manager 评估指标发送到 Workload Manager。
验证 Workload Manager 评估指标收集功能的设置
您可以通过运行代理的 status
命令,验证自己是否已进行了正确的 Google Cloud 设置,以便收集 Workload Manager 评估指标。此命令从代理 3.7 版开始受支持。
如需验证 Google Cloud 设置,请完成以下步骤:
- 与您的 Compute Engine 实例建立 SSH 连接。
- 运行以下命令:
sudo /usr/bin/google_cloud_sap_agent status
如果您为 Workload Manager 评估指标收集功能进行了正确的 Google Cloud 设置,则输出将包含以下内容。您的配置可能具有
default
之外的其他值。Agent Status: ... Systemd Service Enabled: True Systemd Service Running: True Cloud API Full Scopes: True Configuration File: /etc/google-cloud-sap-agent/configuration.json Configuration Valid: True ... ---------------------------------------------------------------------------- System Discovery: Enabled Status: Fully Functional IAM Permissions: All granted Configuration: enable_discovery: true (default) enable_workload_discovery: true (default) sap_instances_update_frequency: 60 (default) system_discovery_update_frequency: 14400 (default) ---------------------------------------------------------------------------- Workload Manager Evaluation: Enabled Status: Fully Functional IAM Permissions: All granted Configuration: collect_workload_validation_metrics: true (default) config_target_environment: PRODUCTION (default) fetch_latest_config: true (default) workload_validation_db_metrics_frequency: 3600 (default) workload_validation_metrics_frequency: 300 (default) ...
- 如果输出表明缺少某些设置,请查看前面部分中提供的信息,执行所需的操作,然后重新运行
status
命令以重新验证设置。
后续步骤
- 详细了解工作负载评估