配置 Process Monitoring 指标收集

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

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

准备工作

所需的角色

如需确保服务账号具有允许 Google Cloud的 Agent for SAP 收集 Process Monitoring 指标所需的权限,请让您的管理员为服务账号授予项目的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含允许 Google Cloud的 SAP 代理收集进程监控指标所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需允许 Google Cloud的 Agent for SAP 收集 Process Monitoring 指标,您需要拥有以下权限:

  • 如需从主机 Compute Engine 实例收集 Process Monitoring 指标并将其写入 Cloud Monitoring,请执行以下操作:
    • monitoring.timeSeries.create
    • compute.instances.get
    • compute.nodeGroups.list
    • compute.nodeGroups.get
  • 如果您使用 Secret Manager 存储用于连接到 SAP HANA 数据库的密码,则如需访问该 Secret,请执行以下操作: 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"
        }
      },
      "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"
        }
      },
      "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"
        }
      },
      "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 指标收集的设置

您可以通过运行代理的 status 命令来验证是否已正确 Google Cloud 设置了进程监控指标的收集。此命令从代理版本 3.7 开始受支持。

为此,请完成以下步骤:

  1. 与 Compute Engine 实例或裸金属解决方案服务器建立 SSH 连接。
  2. 运行以下命令:

    sudo /usr/bin/google_cloud_sap_agent status
    

    如果您 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
    ...
    ----------------------------------------------------------------------------
    Process Metrics: Enabled
        Status: Fully Functional
        IAM Permissions: All granted
        Configuration:
            collect_process_metrics:        true (configuration file)
            process_metrics_frequency:      5    (default)
            process_metrics_to_skip:        []   (default)
            slow_process_metrics_frequency: 30   (default)
    ...
    
  3. 如果输出显示缺少某些设置,请查看前面部分中提供的信息,执行所需的操作,然后重新运行 status 命令以重新验证设置。

查看收集的指标

如需直观呈现代理收集的 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 指标的自定义信息中心