配置 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的 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 控制台中,前往监控页面:

    转到“监控”

  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 控制台中,前往监控页面:

    转到“监控”

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

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

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

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

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