本指南介绍了如何配置 Google Cloud的 Agent for SAP 以从 SAP 系统收集 Workload Manager 评估指标。
如需了解此功能,请参阅使用 Google Cloud的 Agent for SAP 进行 Workload Manager 评估。
准备工作
- 验证 Google Cloud的 Agent for SAP 的安装。如需查看相关说明,请参阅适合您的场景的安装指南。
- 如果您已在裸金属解决方案服务器上安装代理,请确保已满足所需的前提条件并设置服务账号。如需查看相关说明,请参阅在 Linux 上配置 Google Cloud的 Agent for SAP。
确保已为您的Google Cloud 项目启用 Workload Manager API。
所需 IAM 角色
如需确保服务账号具有让 Google Cloud的 Agent for SAP 收集 Workload Manager 评估指标所需的权限,请让您的管理员为服务账号授予项目的以下 IAM 角色:
-
Compute Viewer (
roles/compute.viewer
):用于从托管 SAP 系统的 Compute Engine 实例中收集 Workload Manager 评估指标。 -
Workload Manager Insights Writer (
roles/workloadmanager.insightWriter
):用于将收集的指标写入 Workload Manager 数据仓库。 -
(可选)Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
):如果您使用 Secret Manager 存储用于连接到 SAP HANA 数据库的密码。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含让 Google Cloud的 Agent for SAP 收集 Workload Manager 评估指标所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需让 Google Cloud的 Agent for SAP 收集 Workload Manager 评估指标,需要以下权限:
-
如需从主机 Compute Engine 实例收集 Workload Manager 评估指标并将其写入 Workload Manager 数据仓库,请执行以下操作:
-
monitoring.timeSeries.create
-
compute.zoneOperations.list
-
compute.disks.list
-
compute.nodeGroups.get
-
workloadmanager.insights.write
-
-
如果您要使用 Secret Manager 存储用于连接到 SAP HANA 数据库的密码,然后访问 Secret:
secretmanager.versions.access
您的管理员也可以使用自定义角色或其他预定义角色为服务账号授予这些权限。
所需的 SAP HANA 角色
如需让代理从 SAP HANA 数据库收集指标,请确保您在代理的配置文件中指定的 SAP HANA 用户具有 MONITORING
角色。
如需了解此角色,请参阅 SAP 文档标准数据库角色。
验证代理版本
Google Cloud 建议您安装最新版本的 Agent for SAP,以便准确评估 SAP 工作负载,因为定期发布的 Agent for SAP 版本可能会添加或更改用于评估的指标。
为了确保您使用的是最新版本的 Google Cloud的 Agent for SAP,您需要定期检查更新并更新该代理。
安装更新
选择您的操作系统,然后按照以下步骤操作:
RHEL
- 与您的实例建立 SSH 连接。
- 更新您的代理实例:
- (推荐)如需更新到代理 3.8 版(最新版),请运行以下命令:
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.8 版(最新版),请运行以下命令:
SLES
- 与您的实例建立 SSH 连接。
- 更新您的代理实例:
- (推荐)如需更新到代理 3.8 版(最新版),请运行以下命令:
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.8 版(最新版),请运行以下命令:
启用 Workload Manager 评估指标收集功能
从 3.2 版开始,系统会默认启用新安装的 Google Cloud的 Agent for SAP,以收集 Workload Manager 评估指标。如果您从先前版本更新到 3.2 版,也可以明确启用该功能。为此,请完成以下步骤:
与 Compute Engine 实例或裸金属解决方案服务器建立 SSH 连接。
如需让代理收集 Workload Manager 评估指标,请运行以下命令:
sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable
如需启用“SAP HANA 数据分析”和“SAP HANA 安全最佳实践”指标收集功能,请执行以下操作:
打开代理的配置文件:
/etc/google-cloud-sap-agent/configuration.json
或者,您也可以通过运行命令来执行此配置。如需了解详情,请参阅 Google Cloud的 Agent for SAP 的配置命令。
在
collect_workload_validation_metrics
后面添加workload_validation_db_metrics_config
部分,然后指定以下参数:hana_db_user
:指定用于查询 SAP HANA 实例的 SAP HANA 数据库用户账号。hostname
:指定托管 SAP HANA 实例的机器(本地或远程)的标识符。port
:指定 SAP HANA 实例接收查询的数据库端口。例如,如果您的租户数据库在端口30015
上监听,请输入30015
。sid
:指定 SAP HANA 实例的 SID。hana_db_password_secret_name
:指定 Secret Manager 中用来存储用户账号密码的 Secret 的名称。作为 Secret 的替代方案,您可以使用
hdbuserstore_key
配置参数。hdbuserstore_key
:指定hdbuserstore
密钥,它用于对您为hana_db_user
指定的用户进行身份验证如果您指定
hdbuserstore_key
,则跳过指定hostname
和port
参数。
如需了解这些参数,请参阅配置参数。
(可选)在
cloud_properties
部分下,您可以更新自动设置的参数值。为此,请将cloud_properties
部分添加到您的配置文件中,然后指定必需的参数及其值。保存配置文件。
重启代理以使新设置生效:
sudo systemctl restart google-cloud-sap-agent
配置文件示例
Compute Engine 实例
以下示例是Google Cloud的 Agent for SAP 的已完成配置文件,该 Agent 在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 } }
裸金属解决方案服务器
以下示例是Google Cloud的 Agent for SAP 的已完成配置文件,该 Agent 在裸金属解决方案服务器上运行,其中启用了 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": true, "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 }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"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": true, "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 }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"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": true, "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 }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1" "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
配置参数
下表说明了Google Cloud的 Agent for SAP 特定于 Workload Manager 评估指标收集的配置参数。
参数 | |
---|---|
provide_sap_host_agent_metrics |
如需启用 SAP Host Agent 所需的指标收集功能,请指定 |
bare_metal |
在裸金属解决方案服务器上安装代理后时,请指定 |
log_level |
如需设置代理的日志记录级别,请设置所需的值。可用的日志级别如下:
默认为 |
log_to_cloud |
如需将代理的日志重定向到 Cloud Logging,请指定 |
cloud_properties.project_id |
如果 SAP 系统在裸金属解决方案服务器上运行,请指定您用于裸金属解决方案的 Google Cloud 项目的 ID。 |
cloud_properties.instance_name
|
如果 SAP 系统在 Compute Engine 实例上运行,请指定该计算实例的名称。代理会在安装时自动检测计算实例名称。 如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定该服务器的名称。 |
cloud_properties.region |
如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定裸金属解决方案服务器的区域。 |
cloud_properties.zone |
当代理在计算实例上运行时,默认情况下,代理会使用在其中部署计算实例的可用区。 |
cloud_properties.image |
指定实例的操作系统映像名称。 |
cloud_properties.numeric_project_id |
指定 SAP 系统在其中运行的 Google Cloud 项目的数字 ID。 |
discovery_configuration.enable_workload_discovery |
如需让代理收集主机上运行的 SAP 产品的名称和版本,请指定 如需了解详情,请在 |
discovery_configuration.enable_discovery |
如需将代理收集的有关主机上运行的 SAP 产品的信息发送到 Cloud Logging,请指定 如果您指定值 |
collection_configuration.collect_workload_validation_metrics |
如需启用 Workload Manager 评估指标收集功能,请指定 |
collection_configuration.workload_validation_metrics_frequency |
Workload Manager 评估指标的收集频率(以秒为单位)。默认值为 如果您需要修改 Workload Manager 指标的收集频率,请在 |
collection_configuration.workload_validation_collection_definition.fetch_latest_config |
可选。默认值为 |
collection_configuration.workload_validation_db_metrics_config.hana_db_user |
指定用于查询 SAP HANA 实例的用户账号。 用户账号必须具有 SAP HANA 数据库的读取权限。 |
collection_configuration.workload_validation_db_metrics_config.hana_db_password |
指定用于查询 SAP HANA 实例的用户账号的密码。 对于 SAP HANA 身份验证,代理会按以下优先顺序使用参数:如果指定了 |
collection_configuration.workload_validation_db_metrics_config.hana_db_password_secret_name |
指定存储用户账号密码的 Secret Manager 中的密文的名称。 或者,您可以指定 对于 SAP HANA 身份验证,代理会按以下优先顺序使用参数:如果指定了 |
collection_configuration.workload_validation_db_metrics_config.hdbuserstore_key
|
如需安全地连接到 SAP HANA 系统,请指定您为该系统创建的安全用户存储区 ( 如需使用
此配置参数从代理版本 3.3 开始受支持。 如果您指定 对于 SAP HANA 身份验证,代理会按以下优先顺序使用参数:如果指定了 |
collection_configuration.workload_validation_db_metrics_config.sid |
指定 SAP HANA 实例的 SID。 |
collection_configuration.workload_validation_db_metrics_config.hostname |
指定托管 SAP HANA 实例的机器(本地或远程)的标识符。支持的值如下:
|
collection_configuration.workload_validation_db_metrics_config.port |
指定 SAP HANA 实例接收查询的端口。对于第一个或唯一租户数据库实例,该端口为 |
collection_configuration.workload_validation_db_metrics_frequency |
用于进行 Workload Manager 评估的 SAP HANA 数据库指标的收集频率(以秒为单位)。
默认值为 |
验证 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
命令以重新验证设置。
查看收集的指标
如需查看代理收集的 Workload Manager 评估指标,您可以执行以下操作:
查看代理的日志文件:
将代理的日志级别设置为
DEBUG
:sudo /usr/bin/google_cloud_sap_agent configure -loglevel=debug
在代理重启以达到新的日志级别后,请查看代理的日志文件:
/var/log/google-cloud-sap-agent.log
在日志文件中,查找包含以下内容的条目:
workload.googleapis.com/sap/validation/
以下示例显示了代理日志文件中的 Workload Manager 评估指标:
{"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"metric":"workload.googleapis.com/sap/validation/system","value":1} {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"key":"instance_name","value":"n1-hana-sles15"} {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"key":"os","value":"sles-15-SP4"} ... {"level":"debug","timestamp":"2024-05-31T20:13:39.439Z",..."context":"WorkloadManagerMetrics",
"metric":"workload.googleapis.com/sap/validation/corosync","value":0} ...
如果您的代理实例已配置为将日志发送到 Cloud Logging,则您可以在 Cloud Logging 中查看该代理的日志。
在 Workload Manager 中为 SAP 工作负载创建和运行评估。如需了解详情,请参阅创建和运行评估。
如需了解 Workload Manager 支持用于评估 Google Cloud上运行的 SAP 工作负载的最佳实践,请参阅适用于 SAP 的 Workload Manager 最佳实践。