配置 Process Monitoring 指标收集

本指南介绍如何配置 Google Cloud 的 Agent for SAP 以从 SAP 系统收集 Process Monitoring 指标。

如需详细了解此功能,请参阅使用 Google Cloud 的 Agent for SAP 进行进程监控

准备工作

设置 IAM 角色

如需允许 Google Cloud 的 Agent for SAP 收集 Process Monitoring 指标,您必须确保 Compute Engine 实例或裸金属解决方案服务器使用的服务账号包含以下角色:

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

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

    转到 IAM

  2. 选择您的 Google Cloud 项目。

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

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

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

如需精细控制访问权限,您可以为自己的自定义角色设置以下 IAM 权限:

  • 指标收集:
    • monitoring.timeSeries.create
    • compute.instances.get
    • compute.nodeGroups.list
    • compute.nodeGroups.get
  • Secret Manager:
    • secretmanager.versions.access

如需详细了解如何创建自定义角色,请参阅创建和管理自定义角色

启用 Process Monitoring 指标收集功能

如需启用使用 Google Cloud's Agent for SAP 收集 Process Monitoring 指标的功能,请按照以下步骤操作:

  1. 与主机 Compute Engine 实例建立 SSH 连接。

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

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

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

  3. collection_configuration 部分中,执行以下操作:

    • 对于参数 collect_process_metrics,请指定值 true
    • 如需启用收集与 SAP HANA 数据库实例相关的 Process Monitoring 指标的功能,您需要在 hana_metrics_config 部分中配置其他参数。如需了解这些参数,请参阅配置参数
  4. (可选)在 cloud_properties 部分下,您可以更新自动设置的参数值。为此,请将 cloud_properties 部分添加到您的配置文件中,然后指定必需的参数及其值。

  5. 保存配置文件。

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

    sudo systemctl restart google-cloud-sap-agent

配置文件示例

Compute Engine 实例

以下示例是已完成的 Google Cloud 的 Agent for SAP 配置文件,它在Compute Engine 实例上运行,其中启用了 Process Monitoring 指标的收集功能:

对于 SAP HANA 身份验证,代理使用以下优先顺序:如果指定,hdbuserstore_key 配置参数优先于 hana_db_password 参数,而 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,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hdbuserstore_key": "user_store_key"
        }
      },
      "cloud_properties": {
        "project_id": "my-project",
        "instance_name": "instance-1",
        "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": false,
      "log_level": "INFO",
      "log_to_cloud": true,
      "collection_configuration": {
        "collect_workload_validation_metrics": true,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hana_db_password_secret_name": "db_pwd_secret_name"
        }
      },
      "cloud_properties": {
        "project_id": "my-project",
        "instance_name": "instance-1",
        "image": "rhel-8"
      },
      "discovery_configuration": {
        "enable_discovery": true,
        "enable_workload_discovery": true
      },
      "hana_monitoring_configuration": {
        "enabled": false
      }
    }
  • 以下示例使用用户名和密码进行 SAP HANA 身份验证。我们建议您改用 Secret Manager 密钥或安全用户存储区 (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,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hana_db_password": "TempPa55word"
        }
      },
      "cloud_properties": {
        "project_id": "my-project",
        "instance_name": "instance-1",
        "image": "rhel-8"
      },
      "discovery_configuration": {
        "enable_discovery": true,
        "enable_workload_discovery": true
      },
      "hana_monitoring_configuration": {
        "enabled": false
      }
    }

裸金属解决方案服务器

以下示例是已完成的 Google Cloud 的 Agent for SAP 配置文件,它在裸金属解决方案服务器上运行,其中启用了 Process Monitoring 指标的收集功能:

对于 SAP HANA 身份验证,代理使用以下优先顺序:如果指定,hdbuserstore_key 配置参数优先于 hana_db_password 参数,而 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,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hdbuserstore_key": "user_store_key"
        }
      },
      "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,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hana_db_password_secret_name": "db_pwd_secret_name"
        }
      },
      "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 密钥或安全用户存储区 (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,
        "collect_process_metrics": true,
        "process_metrics_frequency": 5,
        "slow_process_metrics_frequency": 30,
        "hana_metrics_config": {
          "hana_db_user": "db_user_name",
          "sid": "DEH",
          "hana_db_password": "TempPa55word"
        }
      },
      "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 的特定于 Process Monitoring 指标收集的配置参数。

参数
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。

当代理在 Compute Engine 实例上运行时,默认情况下,代理会自动检测项目 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。

当代理在计算实例上运行时,默认情况下,代理会自动检测项目编号。

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_process_metrics

Boolean

如需启用 Process Monitoring 指标收集功能,请指定 true。 默认为 false
此参数仅适用于 Linux。

如果您为 SAP HANA 启用 Process 指标收集,则需要设置 hana_metrics_config 下列出的其他参数。

collection_configuration.process_metrics_frequency

Int

从 2.6 版开始,此参数决定了快速变化的 Process Monitoring 指标的收集频率(以秒为单位)。快速变化的 Process Monitoring 指标包括:sap/hana/availabilitysap/hana/ha/availabilitysap/nw/availability

此参数的默认值为 5 秒。我们建议您使用此默认值。

所有其他(缓慢变化的)Process Monitoring 指标按默认频率 30 秒收集。如需更改缓慢变化的 Process Monitoring 指标的收集频率,请使用参数 slow_process_metrics_frequency

collection_configuration.slow_process_metrics_frequency

Int

指定缓慢变化的 Process Monitoring 指标的收集频率(以秒为单位)。

此参数的默认值为 30 秒。

collection_configuration.process_metrics_to_skip

Array

指定您不希望代理收集的 Process Monitoring 指标。此参数接受 Process Monitoring 指标名称的英文逗号分隔值。例如:"process_metrics_to_skip": ["/sap/nw/abap/sessions", "/sap/nw/abap/rfc"]

collection_configuration.hana_metrics_config.hana_db_user

String

指定代理用于查询 SAP HANA 的数据库用户账号。默认值为 SYSTEM

collection_configuration.hana_metrics_config.hana_db_password

String

指定代理用于查询 SAP HANA 的数据库用户账号的纯文本密码。

我们建议您使用以下选项之一,而不是指定明文密码:

对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定,hdbuserstore_key 配置参数优先于 hana_db_password 参数,而 hana_db_password 参数优先于 hana_db_password_secret_name 参数。我们建议您在配置文件中仅设置一个身份验证选项。

collection_configuration.hana_metrics_config.hana_db_password_secret_name

String

为了安全地提供代理用于查询 SAP HANA 的数据库用户账号的密码,请指定包含数据库用户账号的安全凭据的 Secret 的名称。

仅当您指定 hana_db_password_secret_namehdbuserstore_keyhana_db_password 时,代理才会收集 SAP HANA 相关指标。

对于 SAP HANA 身份验证,代理使用以下优先顺序:如果指定,hdbuserstore_key 配置参数优先于 hana_db_password 参数,而 hana_db_password 参数优先于 hana_db_password_secret_name 参数。我们建议您在配置文件中仅设置一个身份验证选项。

collection_configuration.hana_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 开始受支持。

对于 SAP HANA 身份验证,代理使用以下优先顺序:如果指定,hdbuserstore_key 配置参数优先于 hana_db_password 参数,而 hana_db_password 参数优先于 hana_db_password_secret_name 参数。我们建议您在配置文件中仅设置一个身份验证选项。

collection_configuration.hana_metrics_config.sid

String

指定 SAP HANA 实例的 SID。 如果您使用 hdbuserstore 密钥对 SAP HANA 进行身份验证,请参阅 hdbuserstore_key 部分

查看收集的指标

如需直观呈现代理收集的 Process Monitoring 指标,您可以使用 Google Cloud 提供的以下自定义信息中心:

  • SAP 代理 - HANA 概览:此信息中心提供显示以下指标的状态概览的图表:SAP HANA 可用性、SAP HANA HA 可用性、SAP HANA HA 复制、SAP HANA 服务状态、HA 集群 - 节点状态和 HA 集群 - SAP 实例的资源状态。

    此信息中心的 JSON 文件为 sap-agent-status-overview.json

  • SAP 代理 - HANA 原始指标:此信息中心提供显示以下指标的原始指标值的图表:SAP HANA 可用性、SAP HANA HA 可用性、SAP HANA HA 复制、SAP HANA 服务状态、HA 集群 - 节点状态和 HA 集群 - SAP 实例的资源状态。

    此信息中心的 JSON 文件为 sap-agent-raw-metrics.json

安装信息中心

如需安装自定义信息中心,请完成以下步骤:

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,前往 Monitoring 页面:

    进入 Monitoring

  2. 在 Monitoring 导航面板中,点击信息中心

  3. 点击示例库标签页。

    显示选定的示例库标签页。

  4. 如需过滤特定于代理的自定义信息中心,请在过滤条件字段中输入 Agent for SAP

  5. (可选)如需查看有关信息中心的详细信息或预览其内容,请点击预览

  6. 选择要安装的信息中心。

  7. 点击导入,然后点击确认

    信息中心会添加到 Google Cloud 项目中的可用信息中心。如需查看您的信息中心,请按照查看已安装的信息中心中的说明进行操作。

Google Cloud CLI

  1. 打开 Cloud Shell:

    打开 Cloud Shell

  2. 在 Cloud Shell 中,克隆或下载代码库:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/

  3. 在 Cloud Shell 中,使用相应的 JSON 文件安装所需的信息中心:

    gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE

    CONFIG_FROM_FILE 替换为包含信息中心配置的 JSON 文件的路径。信息中心配置文件可位于以下路径中:monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap

    信息中心会添加到 Google Cloud 项目中的可用信息中心。如需查看您的信息中心,请按照查看已安装的信息中心中的说明进行操作。

查看已安装的信息中心

如需查看已安装的信息中心,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Monitoring 页面:

    进入 Monitoring

  2. 在 Monitoring 导航面板中,点击信息中心

  3. 在列表中点击信息中心名称。

如果您有许多信息中心,则可以针对自定义信息中心或新信息中心的名称进行过滤。如需了解如何过滤此列表,请参阅查看自定义信息中心

下图是一个示例,展示了 Monitoring 中 SAP HANA 指标的自定义信息中心的一部分。

屏幕截图展示了 Monitoring 中 SAP HANA 指标的自定义信息中心