配置 Workload Manager 评估指标收集

本指南介绍了如何配置 Google Cloud 的 Agent for SAP 以从 SAP 系统收集 Workload Manager 评估指标。

如需详细了解此功能,请参阅使用 Google Cloud 的 Agent for SAP 进行 Workload Manager 评估

准备工作

设置 IAM 角色

如需允许 Google Cloud 的 Agent for SAP 收集 Workload Manager 评估指标,您必须确保 Compute Engine 虚拟机实例或裸金属解决方案服务器使用的服务账号具有以下角色:

如需向您的服务账号添加这些必需的角色,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 选择您的 Google Cloud 项目。

  3. 确定要向其添加角色的服务账号。

    • 如果该服务账号不在主账号列表中,则表明还没有为它分配任何角色。点击添加,然后输入该服务账号的电子邮件地址。
    • 如果该服务账号已经在主账号列表中,则表明它已具有角色。点击要修改的服务账号对应的修改按钮。
  4. 从可用角色列表中选择所需角色:

    • Compute Viewer
    • Workload Manager > Workload Manager Insights Writer
    • Secret Manager > Secret Manager Secret Accessor
  5. 点击添加保存,将相应角色应用于该服务账号。

验证代理版本

Google Cloud 建议您安装最新版本的 Agent for SAP,以便准确评估 SAP 工作负载,因为定期发布的 Agent for SAP 版本可能会添加或更改用于评估的指标。

为了确保您使用的是最新版本的 Google Cloud 的 Agent for SAP,您需要定期检查更新并更新该代理。

安装更新

选择您的操作系统,然后按照以下步骤操作:

RHEL

  1. 与您的实例建立 SSH 连接。
  2. 更新您的代理实例:
    • (推荐)如需更新到代理 3.5 版(最新版),请运行以下命令:
      sudo yum --nogpgcheck update google-cloud-sap-agent
    • 要更新到代理的特定版本,请运行以下命令:
      sudo yum install google-cloud-sap-agent-VERSION_NUMBER.x86_64

      VERSION_NUMBER 替换为您要安装的代理的版本号,例如 3.1-606637668。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本

SLES

  1. 与您的实例建立 SSH 连接。
  2. 更新您的代理实例:
    • (推荐)如需更新到代理 3.5 版(最新版),请运行以下命令:
      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。如需了解您可以安装的代理版本,请参阅列出代理的所有可用版本

启用 Workload Manager 评估指标收集功能

从 3.2 版开始,系统会默认启用新安装的 Google Cloud 的 Agent for SAP,以收集 Workload Manager 评估指标。如果您从先前版本更新到 3.2 版,也可以明确启用该功能。为此,请完成以下步骤:

  1. 与 Compute Engine 虚拟机实例或裸金属解决方案服务器建立 SSH 连接。

  2. 如需让代理收集 Workload Manager 评估指标,请运行以下命令:

    sudo /usr/bin/google_cloud_sap_agent configure -feature=workload_evaluation -enable

  3. 如需启用“SAP HANA 数据分析”和“SAP HANA 安全最佳实践”指标收集功能,请执行以下操作:

    1. 打开代理的配置文件:

      /etc/google-cloud-sap-agent/configuration.json

      或者,您也可以通过运行命令来执行此配置。如需了解详情,请参阅 Google Cloud 的 Agent for SAP 的配置命令

    2. collect_workload_validation_metrics 后面添加 workload_validation_db_metrics_config 部分,然后指定以下参数:

      • hana_db_user:指定用于查询 SAP HANA 实例的 SAP HANA 数据库用户账号。
      • hostname:指定托管 SAP HANA 实例的机器(本地或远程)的标识符。
      • port:指定 SAP HANA 实例接收查询的端口。
      • sid:指定 SAP HANA 实例的 SID。
      • hana_db_password_secret_name:指定 Secret Manager 中用来存储用户账号密码的 Secret 的名称。

        作为 Secret 的替代方案,您可以使用 hdbuserstore_key 配置参数。

      • hdbuserstore_key:指定 hdbuserstore 密钥,它用于对您为 hana_db_user 指定的用户进行身份验证

        如果您指定 hdbuserstore_key,则跳过指定 hostnameport 参数。

      如需了解这些参数,请参阅配置参数

  4. (可选)在 cloud_properties 部分下,您可以更新自动设置的参数值。为此,请将 cloud_properties 部分添加到您的配置文件中,然后指定必需的参数及其值。

  5. 保存配置文件。

  6. 重启代理以使新设置生效:

    sudo systemctl restart google-cloud-sap-agent

配置文件示例

Compute Engine 虚拟机实例

以下示例是一个在Compute Engine 虚拟机实例上运行的 Google Cloud 的 Agent for SAP 的已完成配置文件,其中启用了 Workload Manager 评估指标收集功能:
{
  "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",
"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 } }

裸金属解决方案服务器

以下示例是一个在裸金属解决方案服务器上运行的 Google Cloud 的 Agent for SAP 的已完成配置文件,其中启用了 Workload Manager 评估指标收集功能:
{
  "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",
"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 } }

配置参数

下表说明了 Google Cloud 的 Agent for SAP 特定于 Workload Manager 评估指标收集的配置参数。

参数
provide_sap_host_agent_metrics

Boolean

如需启用 SAP Host Agent 所需的指标收集功能,请指定 true。 默认值为 true
除非有 Cloud Customer Care 或 SAP 支持团队的指导,否则请勿将 provide_sap_host_agent_metrics 设置为 false

bare_metal

Boolean

在裸金属解决方案服务器上安装代理后时,请指定 true。默认值为 false

log_level

String

如需设置代理的日志记录级别,请设置所需的值。可用的日志级别如下:

  • DEBUG
  • INFO
  • WARNING
  • ERROR

默认为 INFO。除非有 Cloud Customer Care 的指导,否则请勿更改日志记录级别。

log_to_cloud

Boolean

如需将代理的日志重定向到 Cloud Logging,请指定 true。默认值为 true

cloud_properties.project_id

String

如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定您用于裸金属解决方案的 Google Cloud 项目的 ID。

当代理在虚拟机实例上运行时,默认情况下,代理会自动检测项目 ID。

cloud_properties.instance_name

String

如果您的 SAP 系统在 Compute Engine 虚拟机实例上运行,请指定该虚拟机实例的名称。代理会在安装时自动检测虚拟机实例名称。

如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定该服务器的名称。

cloud_properties.region

String

如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定裸金属解决方案服务器的区域

当代理在虚拟机实例上运行时,默认情况下,代理会使用安装了该代理的虚拟机实例的区域。

cloud_properties.zone

String

当代理在虚拟机实例上运行时,默认情况下,代理会使用安装了该代理的虚拟机实例的可用区。

cloud_properties.image

String

指定实例的操作系统映像名称。

当代理在虚拟机实例上运行时,默认情况下,代理会检测安装了该代理的虚拟机实例的操作系统映像。

cloud_properties.numeric_project_id

String

SAP 系统在其中运行的 Google Cloud 项目的数字 ID。

当代理在虚拟机实例上运行时,默认情况下,代理会自动检测数字项目 ID。

discovery_configuration.enable_workload_discovery

Boolean

如需让代理收集主机上运行的 SAP 产品的名称和版本,请指定 true。默认值为 true

如需了解详情,请在 google-cloud-sap-agent GitHub 代码库中的 GoogleCloudPlatform/sapagent 下查看该代理的代码库。

discovery_configuration.enable_discovery

Boolean

如需将代理收集的有关主机上运行的 SAP 产品的信息发送到 Cloud Logging,请指定 true。默认值为 true

如果您指定值 false,则代理会将收集的信息存储在主机上,并且不会将其发送到 Cloud Logging。

collection_configuration.collect_workload_validation_metrics

Boolean

如需启用 Workload Manager 评估指标收集功能,请指定 true。从 3.2 版开始,默认值为 true
此参数仅适用于 Linux。

collection_configuration.workload_validation_metrics_frequency

Int

Workload Manager 评估指标的收集频率(以秒为单位)。默认值为 300 秒。

如果您需要修改 Workload Manager 指标的收集频率,请在 collection_configuration 部分下添加 workload_validation_metrics_frequency 参数并提供所需的值。

collection_configuration.workload_validation_collection_definition.fetch_latest_config

Boolean

可选。默认值为 true,该值可让代理收集一组最新的 Workload Manager 评估指标,而无需更新代理。如果要关闭此行为,请在配置文件中指定此参数并将其值设置为 false

collection_configuration.workload_validation_db_metrics_config.hana_db_user

String

指定用于查询 SAP HANA 实例的用户账号。 用户账号必须具有 SAP HANA 数据库的读取权限。

collection_configuration.workload_validation_db_metrics_config.hana_db_password_secret_name

String

指定存储用户账号密码的 Secret Manager 中的密文的名称。

或者,您可以指定 hdbuserstore_key 配置参数,以对指定的 SAP HANA 用户进行身份验证。

collection_configuration.workload_validation_db_metrics_config.hdbuserstore_key

String

如需安全地连接到 SAP HANA 系统,请指定您为该系统创建的安全用户存储区 (hdbuserstore) 密钥。

如需使用 hdbuserstore 密钥进行身份验证,请确保满足以下条件:

  • SAP 工具 hdbsqlhdbuserstore 安装在托管代理的计算实例上。
  • hdbuserstore 密钥对应于一个特定的 SAP HANA 实例。您无法使用包含多个 SAP HANA 实例主机名的密钥。
  • SIDadm 用户可以使用此密钥查询 SAP HANA 数据库。其中,SID 是指您为 sid 参数指定的值。您可以通过以 SIDadm 用户身份运行以下命令来验证这一点:
    hdbsql -U HDB_USERSTORE_KEY "SELECT * FROM DUMMY"

此配置参数从代理版本 3.3 开始受支持。

如果您指定 hdbuserstore_key,则可以跳过指定 hostnameport 参数。

collection_configuration.workload_validation_db_metrics_config.sid

String

指定 SAP HANA 实例的 SID。

collection_configuration.workload_validation_db_metrics_config.hostname

String

指定托管 SAP HANA 实例的机器(本地或远程)的标识符。支持的值如下:

  • 如果主机是本地机器,则指定字符串 localhost 或 localhost 环回 IP 地址,例如 127.0.0.1
  • 如果主机是远程机器,则指定其内部或外部 IP 地址。
collection_configuration.workload_validation_db_metrics_config.port

String

指定 SAP HANA 实例接收查询的端口。对于第一个或唯一租户数据库实例,该端口为 3NN15,其中 NN 是 SAP HANA 实例的编号。

collection_configuration.workload_validation_db_metrics_frequency

Int

用于进行 Workload Manager 评估的 SAP HANA 数据库指标的收集频率(以秒为单位)。 默认值为 3600 秒。

虽然您可以更新 SAP HANA 数据库指标的收集频率,但我们建议您使用默认值。如果您需要修改默认值,请在 collection_configuration 部分下添加 workload_validation_db_metrics_frequency 参数并提供所需的值。切勿将收集频率设置为大于 3600 秒。

查看收集的指标

如需查看代理收集的 Workload Manager 评估指标,您可以执行以下操作:

  • 查看代理的日志文件:

    1. 将代理的日志级别设置为 DEBUG

      sudo /usr/bin/google_cloud_sap_agent configure -loglevel=debug
    2. 在代理重启以达到新的日志级别后,请查看代理的日志文件:

      /var/log/google-cloud-sap-agent.log
    3. 在日志文件中,查找包含以下内容的条目:

      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 最佳实践