在裸金属解决方案服务器上安装和配置 Google Cloud 的 Agent for SAP

若要为裸金属解决方案服务器上运行的 SAP 系统提供 SAP 支持,需要使用 Google Cloud 的 Agent for SAP。

如果您使用 Google Cloud 提供的以下 RHEL 或 SLES“for SAP”操作系统映像,则 Google Cloud 的 SAP for Agent 会与操作系统映像打包在一起:

  • RHEL:所有“for SAP”映像
  • SLES:SLES 15 SP4 for SAP 及更高版本

如需了解可用于在裸金属解决方案服务器上运行 SAP 的操作系统,请参阅以下内容:

如需在 Compute Engine 虚拟机实例上安装和配置 3.0 版(最新版)Google Cloud 的 Agent for SAP,请参阅在 Compute Engine 虚拟机实例上安装 Google Cloud 的 Agent for SAP

安装概览

您可以使用标准操作系统软件包管理命令(在 RHEL 上使用 yum 命令;在 SLES 上使用 zypper 命令)安装 Google Cloud 的 Agent for SAP。软件包管理命令可完成以下任务:

  • 下载最新版本的 Google Cloud's Agent for SAP。
  • 将该代理创建为一项名为 google-cloud-sap-agent 的 Linux systemd 服务。
  • 启用并启动服务 google-cloud-sap-agent

安装代理

如需在裸金属解决方案服务器上安装 Google Cloud 的 Agent for SAP,请按照以下步骤操作:

  1. 与裸金属解决方案服务器建立 SSH 连接。

  2. 在您的终端中,通过运行特定于您的操作系统的命令来安装代理:

    RHEL

    sudo tee /etc/yum.repos.d/google-cloud-sap-agent.repo << EOM
    [google-cloud-sap-agent]
    name=Google Cloud Agent for SAP
    baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-el$(cat /etc/redhat-release | cut -d . -f 1 | tr -d -c 0-9)-\$basearch
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
    EOM
    sudo yum install google-cloud-sap-agent

    SLES 15

    sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-\$basearch google-cloud-sap-agent
    sudo zypper install google-cloud-sap-agent

    SLES 12

    sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-\$basearch google-cloud-sap-agent
    sudo zypper install google-cloud-sap-agent

  3. 打开以下配置文件:

    /etc/google-cloud-sap-agent/configuration.json
  4. 修改以下参数或将其添加到配置文件中:

    • 在第一部分中:
      • bare_metal:设置为 true
    • 添加 cloud_properties 部分并指定以下参数:
      • project_id:指定您的 Google Cloud 项目
      • instance_name:指定裸金属解决方案服务器的名称
      • region:指定裸金属解决方案服务器的区域
  5. 保存配置文件。

  6. 重启代理:

    sudo systemctl restart google-cloud-sap-agent
如需详细了解配置参数,请参阅配置参数示例配置

安装 Google Cloud 的 Agent for SAP 和 SAP Host Agent 后,请按照验证代理安装情况中的说明验证 Google Cloud 的 Agent for SAP 的安装情况。

验证代理安装

  1. 与裸金属解决方案服务器建立 SSH 连接。

  2. 运行以下命令:

    systemctl status google-cloud-sap-agent

    如果代理正常运行,则输出包含 active (running)。例如:

    google-cloud-sap-agent.service - Google Cloud Agent for SAP
    Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Fri 2022-12-02 07:21:42 UTC; 4 days ago
    Main PID: 1337673 (google-cloud-sa)
    Tasks: 9 (limit: 100427)
    Memory: 22.4 M (max: 1.0G limit: 1.0G)
    CGroup: /system.slice/google-cloud-sap-agent.service
           └─1337673 /usr/bin/google-cloud-sap-agent
    

如果代理未在运行,请重启代理

验证 SAP Host Agent 正在接收指标

如需验证基础架构指标是否由 Google Cloud's Agent for SAP 收集并正确发送到 SAP Host Agent,请按照以下步骤操作:

  1. 在您的 SAP 系统中,输入事务 ST06
  2. 在概览窗格中,检查以下字段的可用性和内容,以确保 SAP 与 Google 监控基础架构的端到端设置正确无误:

    • Cloud ProviderGoogle Cloud Platform
    • Enhanced Monitoring AccessTRUE
    • Enhanced Monitoring DetailsACTIVE

在 Linux 上配置 Google Cloud's Agent for SAP

安装 Google Cloud's Agent for SAP 后,您可以选择配置代理,以收集进程监控指标、工作负载管理器验证指标和 SAP HANA 监控指标。默认情况下,只有 SAP Host Agent 指标收集功能处于启用状态。

前提条件

如需为在裸金属解决方案服务器上运行的代理实例启用这些功能,您需要满足以下前提条件:

设置服务账号

如需允许代理从裸金属解决方案环境访问 Google Cloud 资源,您需要设置 IAM 服务账号。

代理使用的服务账号必须至少具有 Monitoring Metric Writer (roles/monitoring.metricWriter) 角色。

如需创建服务账号,请按照以下步骤操作:

  1. 创建服务帐号:

    1. 在 Google Cloud 控制台中,转到创建服务帐号页面。

      转到“创建服务帐号”
    2. 选择您的项目。
    3. 服务帐号名称字段中,输入一个名称。Google Cloud 控制台会根据此名称填充服务帐号 ID 字段。

      服务帐号说明字段中,输入说明。例如,Service account for quickstart

    4. 点击创建并继续
    5. Monitoring > Monitoring Metric Writer 角色授予服务帐号。

      如需授予该角色,请找到选择角色列表,然后选择 Monitoring > Monitoring Metric Writer

    6. 点击继续
    7. 点击完成以完成服务帐号的创建过程。

      不要关闭浏览器窗口。您将在下一步骤中用到它。

  2. 创建服务帐号密钥:

    1. 在 Google Cloud 控制台中,点击您创建的服务帐号的电子邮件地址。
    2. 点击密钥
    3. 点击添加密钥,然后点击创建新密钥
    4. 点击创建。JSON 密钥文件将下载到您的计算机上。
    5. 点击关闭

创建服务账号后,请确保将其 JSON 密钥上传到 裸金属解决方案服务器上可供代理访问的安全位置。

启用功能

为裸金属解决方案设置服务账号并向其授予所需的角色后,您可以通过执行以下配置来启用 Google Cloud's Agent for SAP 的其他功能:

默认配置文件

以下代码段是 3.0 版(最新版)Google Cloud 的 Agent for SAP 的默认配置示例:

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": false,
    "collect_process_metrics": false,
    "sap_system_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": false
  }
}

如需查看特定于功能的示例配置文件,请参阅该功能的配置指南。

配置参数

下表介绍了在裸金属解决方案服务器上运行的 Google Cloud 的 Agent for SAP 的配置参数,包括与指标收集相关的参数。如需了解与代理的 Backint 功能相关的配置参数,请参阅配置参数

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

sap_system_discovery

Boolean

如需启用 SAP 系统发现,请指定 true。 默认值为 true

cloud_properties.project_id

String

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

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

cloud_properties.instance_name

String

指定已安装代理的裸金属解决方案服务器的名称。

cloud_properties.region

String

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

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

cloud_properties.zone

String

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

cloud_properties.image

String

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

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

cloud_properties.numeric_project_id

String

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

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

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 的数据库用户账号的纯文本密码。

我们建议您使用 Secret Manager 中的密文,而不是使用纯文本密码,方法是在 hana_db_password_secret_name 中指定密文的名称。

如果您使用 Secret Manager 存储数据库用户凭据,请勿指定密码。如果配置中同时指定了 hana_db_passwordhana_db_password_secret_name,则系统会触发错误,并且代理无法连接到数据库。

collection_configuration.hana_metrics_config.hana_db_password_secret_name

String

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

仅当设置了 hana_db_password_secret_namehana_db_password 时,才会收集 SAP HANA 相关指标。

collection_configuration.collect_workload_validation_metrics

Boolean

如需启用 Workload Manager 验证指标收集功能,请指定 true。 默认为 false
此参数仅适用于 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 中的密文的名称。

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 秒。

hana_monitoring_configuration.enabled

Boolean

可选。如需使 Google Cloud's Agent for SAP 能够收集 SAP HANA 监控指标,请指定 true。默认值为 false

仅当您指定 hana_monitoring_configuration.enabled: true 时,以下子参数才适用。
hana_monitoring_configuration.sample_interval_sec

Int

可选。指定采样时间间隔(以秒为单位),用于确定 Google Cloud's Agent for SAP 查询 SAP HANA 实例以收集 SAP HANA 监控指标的频率。默认值为 300 秒。

对于在 Google Cloud 的 Agent for SAP 的配置文件中定义的每个查询,您可以通过为参数 sample_interval_sec 指定所需的时间间隔来覆盖全局采样时间间隔。采样时间间隔必须至少为 5 秒。

hana_monitoring_configuration.query_timeout_sec

Int

可选。指定对 SAP HANA 实例执行的每个查询的超时时间。 默认值为 300 秒。

hana_monitoring_configuration.execution_threads

Int

可选。指定用于将查询发送到 SAP HANA 实例的线程数。每个查询都在其自己的线程上运行。默认值为 10。

hana_monitoring_configuration.hana_instances.name

String

指定 SAP HANA 实例的名称标识符。

hana_monitoring_configuration.hana_instances.sid

String

指定 SAP HANA 实例的 SID。此字符串会作为标签添加到查询 SAP HANA 实例时生成的所有指标。

hana_monitoring_configuration.hana_instances.host

String

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

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

String

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

hana_monitoring_configuration.hana_instances.user

String

指定用于查询 SAP HANA 实例的用户账号。

hana_monitoring_configuration.hana_instances.password

String

可选。以纯文本形式指定密码,用于对查询 SAP HANA 实例的用户账号进行身份验证。

如需启用身份验证,您必须指定以下其中一项:

  • 为参数 password 指定纯文本密码。
  • (推荐)如果您使用 Secret Manager 将密码存储为密文,则必须为参数 secret_name 指定相应的密文名称。

如果您同时使用这两个参数,则系统会使用参数 password

hana_monitoring_configuration.hana_instances.secret_name

String

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

hana_monitoring_configuration.hana_instances.enable_ssl

Boolean

可选。指定是否在 SAP HANA 实例中启用 SSL。默认值为 false

hana_monitoring_configuration.hana_instances.host_name_in_certificate

String

如果您为 SAP HANA 实例指定 enable_ssl: true,则必须指定在 SSL 证书中设置的主机名。

hana_monitoring_configuration.hana_instances.tls_root_ca_file

String

如果您为 SAP HANA 实例指定 enable_ssl: true,则必须指定安全证书的路径。

hana_monitoring_configuration.queries.enabled

Boolean

可选。如需为所有 SAP HANA 实例启用 SQL 查询,请为该 SQL 查询的参数 enabled 指定值 true

hana_monitoring_configuration.queries.name

String

如果您已在配置文件中定义了自定义查询,则必须为每个自定义查询指定唯一的名称。

查询名称必须是唯一的,因为它用于在 Monitoring 中构建指标的默认网址。

hana_monitoring_configuration.queries.sql

String

指定代理向 SAP HANA 实例发出的 SQL 语句。

SQL 语句必须符合 SAP 在 SAP HANA SQL 和系统视图参考文档中定义的 SQL 语法。
hana_monitoring_configuration.queries.sample_interval_sec

Int

可选。指定 SQL 查询的采样时间间隔。这会替换全局采样时间间隔。该值必须至少为 5 秒。

hana_monitoring_configuration.queries.columns.name

String

指定唯一标识每一列的名称。

列名称必须是唯一的,因为它用于在 Monitoring 中构建指标的默认网址。

hana_monitoring_configuration.queries.columns.metric_type

String

为了让 Monitoring 进行处理,请指定以下指标类型之一:METRIC_LABELMETRIC_GAUGEMETRIC_CUMULATIVE

METRIC_LABEL 类型的指标会作为标签附加到向 Monitoring 发送的所有 METRIC_GAUGEMETRIC_CUMULATIVE 指标。

hana_monitoring_configuration.queries.columns.value_type

String

为了让 Monitoring 进行处理,请指定指标类型支持的数据类型。

支持的数据类型如下:VALUE_BOOLVALUE_INT64VALUE_STRINGVALUE_DOUBLE。如需了解详情,请参阅支持的组合

hana_monitoring_configuration.queries.columns.name_override

String

可选。要让 Monitoring 进行处理,请指定要在指标网址中显示的路径,而不是查询名称和列名称。例如:

  • 指标的默认网址: workload.googleapis.com/sap/hanamonitoring/QUERY_NAME/COLUMN_NAME
  • 使用自定义路径的指标网址: workload.googleapis.com/sap/hanamonitoring/CUSTOM_PATH

问题排查

如需了解如何诊断和解决在安装和配置 Google Cloud's Agent for SAP 时可能遇到的问题,请参阅 Google Cloud's Agent for SAP 问题排查指南

获取支持

如果您在解决 Google Cloud's Agent for SAP 的问题时需要帮助,请收集所有可用的诊断信息并与 Cloud Customer Care 联系。如需了解如何与 Customer Care 团队联系,请参阅获取 Google Cloud 上的 SAP 支持