Google Cloud 的 Agent for SAP 操作指南

本指南介绍了在 Compute Engine 虚拟机实例和裸金属解决方案服务器上运行 Google Cloud 的 Agent for SAP 3.6 版(最新版)的操作注意事项和过程。

了解代理生命周期

管理 Google Cloud 的 Agent for SAP 的操作时,了解该代理的作用会很有帮助。一般而言,其工作原理如下:

  • 您必须在托管 SAP 系统的每个 Compute Engine 虚拟机实例或裸金属解决方案服务器上安装 Google Cloud's Agent for SAP。该代理以 Linux 服务或 Windows 服务的形式运行。
  • 在 Compute Engine 虚拟机实例上,该代理将来自 Monitoring 和 Compute Engine API 的监控数据相结合。
  • 在裸金属解决方案服务器上,为了仅收集 SAP Host Agent 指标,代理不会访问 Google Cloud API。
  • SAP Host Agent 通过 HTTP 轮询 Google Cloud 的 Agent for SAP 以获取其缓存的数据。它会汇总 SAP Host Agent 指标、报告这些指标并将其存储在 SAP NetWeaver 数据库中。
  • SAP 的事务 ST06saposcol 命令行界面会显示经汇总的 SAP Host Agent 指标。
  • 您可以在终端窗口中运行命令,以查看来自 Google Cloud 的 Agent for SAP 的 SAP Host Agent 指标。

验证代理是否正在运行

安装代理或重启代理后,您可以验证代理是否按预期运行。

如要检查代理是否正在运行,请按以下步骤操作:

Linux

  1. 与裸金属解决方案服务器或 Compute Engine 实例建立 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
    

Windows

  1. 使用 RDP 连接到 Compute Engine 实例。

  2. 以管理员身份从 PowerShell 运行以下命令:

    $(Get-Service -Name 'google-cloud-sap-agent' -ErrorAction Ignore).Status
    如果代理正在运行,则状态会显示 Running

如果 Google Cloud 的 Agent for SAP 未运行,请重启代理

检查代理的版本

安装或重启 Google Cloud 的 Agent for SAP 代理后,您可以查看代理的版本。

如需查看代理的版本,请完成以下步骤:

Linux

对于 RHEL,请按照以下步骤操作:

  1. 使用 SSH 连接到宿主机。
  2. 运行以下命令:
    yum info google-cloud-sap-agent

对于 SLES,请按照以下步骤操作:

  1. 使用 SSH 连接到宿主机。
  2. 运行以下命令:
    zypper info google-cloud-sap-agent

Windows

  1. 使用 RDP 连接到宿主机。
  2. 以管理员身份从 PowerShell 运行以下命令:
    googet installed google-cloud-sap-agent

列出代理的所有可用版本

如需列出 Google Cloud 的 Agent for SAP 的所有可用版本,请执行以下操作:

RHEL

  1. 与主机建立 SSH 连接。

  2. 运行以下命令:

    sudo yum list --showduplicates google-cloud-sap-agent

SLES

  1. 与主机建立 SSH 连接。

  2. 运行以下命令:

    sudo zypper search -s -t package -r google-cloud-sap-agent 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

查看 SAP Host Agent 指标

安装或更新 Google Cloud 的 Agent for SAP 的配置后,您可以查看收集的 SAP Host Agent 指标。

如需查看 Google Cloud 的 Agent for SAP 收集的 SAP Host Agent 指标,请按照以下步骤操作:

Linux

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

  2. 运行以下命令:

    curl http://localhost:18181

    如果能得到这些指标,您应该会收到一个包含系统相关信息的 XML 输出。例如:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <metrics>
      <metric category="cpu" context="vm" type="double" unit="Percent" last-refresh="1670422670" refresh-interval="60">
      <name>VM Processing Power Consumption</name>
      <value>0.0</value>
      </metric>

Windows

  1. 使用 RDP 连接到 Compute Engine 实例。

  2. 以管理员身份从 PowerShell 运行以下命令:

    (Invoke-WebRequest -Uri 'http://localhost:18181').RawContent

    如果能得到这些指标,您应该会看到一个包含系统相关信息的 XML 输出。例如:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <metrics>
      <metric category="cpu" context="vm" type="double" unit="Percent" last-refresh="1670422528" refresh-interval="60">
      <name>VM Processing Power Consumption</name>
      <value>10.0</value>
      </metric>

查看其他指标

更新 Google Cloud 的 Agent for SAP 的配置来收集 Process Monitoring 指标或 SAP HANA 监控指标后,我们建议您查看这些指标以验证代理是否按预期收集指标。

您可以通过完成以下步骤在 Cloud Monitoring 中查看 Google Cloud 的 Agent for SAP 收集的指标和信息:

  1. 在 Google Cloud 控制台,进入 Monitoring Metrics Explorer 页面。

    转到 Metrics Explorer

  2. 选择 Configuration(配置)标签页。

  3. 展开选择指标菜单。

  4. 资源菜单中,选择虚拟机实例

  5. Metric category(指标类别)菜单中,选择 SAP

  6. 指标菜单中,选择 metric: workload.googleapis.com/sap/service/active 或任何要绘制的新指标。

  7. 点击应用

您应该会看到包含时序指标值的图表。

重启代理

如果 Google Cloud 的 Agent for SAP 停止运行或您要更新其配置,请重启该代理。

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

Linux

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

  2. 运行以下命令:

    sudo systemctl restart google-cloud-sap-agent
    

Windows

  1. 与主机虚拟机实例建立 RDP 连接。

  2. 以管理员身份从 PowerShell 运行以下命令:

    Restart-Service -Name 'google-cloud-sap-agent' -Force
    

停用或启用代理

为了实现适当的监控,计算实例上的 Google Cloud 的 Agent for SAP 的 systemd 服务必须始终处于运行状态。不过,如果您需要在基于 Linux 的计算实例上停用或停止代理,请运行以下命令:

sudo /usr/bin/google_cloud_sap_agent service -disable

如需在基于 Linux 的计算实例上启用并启动代理的 systemd 服务,请执行以下操作:

sudo /usr/bin/google_cloud_sap_agent service -enable

在 Linux 上停用或启用代理的 systemd 服务时,系统会将操作记录在以下文件中:/var/log/google-cloud-sap-agent/service.log

从其他 Google Cloud 代理升级到 Google Cloud 的 Agent for SAP

Google Cloud 的 Agent for SAP 是其他 Google Cloud 代理的后续产品。以下部分介绍了如何从这些代理升级到 Google Cloud 的 Agent for SAP 3.6 版(最新版)。

如需了解如何安装和配置 Google Cloud's Agent for SAP,请参阅选择 Google Cloud's Agent for SAP 安装和配置指南

从适用于 SAP HANA 的 Cloud Storage Backint 代理升级

如需从适用于 SAP HANA 的 Cloud Storage Backint 代理升级到 3.6 版(最新版),请完成以下步骤:

  1. 确保在与升级重叠的时间段内没有正在进行或已预定的数据备份。

  2. 通过将 SAP HANA enable_auto_log_backup 参数设置为 no 来停用自动日志备份。如需查看相关说明,请参阅 SAP HANA 文档启用和停用自动日志备份

  3. 安装 Google Cloud 的 Agent for SAP。如需查看相关说明,请参阅适合您的场景的安装指南

  4. 启用 Google Cloud 的 Agent for SAP 的 Backint 功能。如需了解相关说明,请参阅配置基于 Backint 的备份和恢复

    启用 Google Cloud 的 Agent for SAP 的 Backint 功能会自动检测主机上的 Backint 代理,并从宿主机中将其停用。

  5. 如需创建现有 Backint 配置文本文件的 JSON 版本,请对每个文本文件运行以下命令:

    /usr/bin/google_cloud_sap_agent configurebackint -f=PATH_TO_PARAMETERS_FILE

    请将 PATH_TO_PARAMETERS_FILE 替换为 PARAMETERS.txt 文件的路径。

    JSON 文件会在文件系统中与文本文件相同的位置创建,只要 Google Cloud 的 Agent for SAP 有权访问这些位置。虽然 Google Cloud 的 Agent for SAP 能够解读文本文件中指定的 Backint 相关参数,但我们建议您使用 JSON 文件来更新任何配置。

  6. 通过将 SAP HANA enable_auto_log_backup 参数设置为 yes 来启用自动日志备份。如需查看相关说明,请参阅 SAP HANA 文档启用和停用自动日志备份

  7. 验证备份和恢复

执行此升级时,会发生以下情况:

  • 出于备份和参考目的,Backint 代理的 backint-gcs 目录中的所有安装文件都会复制到 backint-gcs-old-TIMESTAMP/。如果您需要还原为使用 Backint 代理,则这些文件是必需的。
  • 然后,系统会清理文件夹 backint-gcs,使其仅包含运行 Google Cloud 的 Agent for SAP 所需的文件,其中包括其配置文件 parameters.json 和 Backint 配置文件(例如 PARAMETERS.txt)。

如需了解 Backint 代理与 Google Cloud 的 Agent for SAP 之间的配置参数映射,请展开以下部分。

配置参数映射

Backint 代理中的参数名称 Google Cloud 的 Agent for SAP 中的参数名称
BUCKET bucket
DISABLE_COMPRESSION compress
ENCRYPTION_KEY encryption_key
KMS_KEY_NAME kms_key
MAX_GCS_RETRY retries
PARALLEL_FACTOR parallel_streams
PARALLEL_PART_SIZE Google Cloud 的 Agent for SAP 中不存在此参数名称
RATE_LIMIT_MB rate_limit_mb
SERVICE_ACCOUNT service_account_key
THREADS thread
READ_IDLE_TIMEOUT file_read_timeout_ms
CHUNK_SIZE_MB buffer_size_mb
HTTP_READ_TIMEOUT Google Cloud 的 Agent for SAP 中不存在此参数名称

从 SAP HANA 的监控代理升级

安装 Google Cloud 的 Agent for SAP 3.6 版(最新版)会自动检测 SAP HANA 监控代理版本,将其停用,然后在安装期间从宿主机中将其移除。

如果检测到此代理,则其配置会在安装期间迁移到 Google Cloud 的 Agent for SAP。出于备份和参考目的,SAP HANA 监控代理的配置会复制到以下文件:

/etc/google-cloud-sap-agent/backup-of-hanamonitoring-configuration.yaml

升级启用了 SSL 的实例

如果您已将 SAP HANA 监控代理配置为使用 SSL 证书与 SAP HANA 实例进行通信,则安装 Google Cloud 的 Agent for SAP 时,除 SSL 配置以外的所有 SAP HANA 监控配置都会迁移到 Google Cloud 的 Agent for SAP。在这种情况下,如需使用 Google Cloud 的 Agent for SAP 来监控 SAP HANA 实例,您必须完成以下步骤:

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

  2. 打开 Google Cloud 的 Agent for SAP 的配置文件:

    /etc/google-cloud-sap-agent/configuration.json
  3. hana_monitoring_configuration 部分中,将参数 enabled 设置为 true

  4. hana_monitoring_configuration.hana_instances 部分中,对使用 TLS/SSL 协议进行安全通信的每个 SAP HANA 实例执行以下操作:

    1. 指定参数 enable_ssl 并将其值设置为 true

    2. 指定参数 host_name_in_certificate,并将 TLS/SSL 证书中指定的 SAP HANA 主机名设置为其值。

    3. 指定参数 tls_root_ca_file,并将 TLS/SSL 证书的存储路径设置为其值。

  5. 保存配置文件。

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

    sudo systemctl restart google-cloud-sap-agent
  7. 验证代理是否正在收集 SAP HANA 监控指标。如需查看相关说明,请参阅查看其他指标

  8. 卸载 SAP HANA 监控代理。

如果您在此升级后遇到任何与 SAP HANA 实例相关的连接问题,则可以在 Logging 中查看代理的日志并使用问题排查指南来解决问题。

从 SAP NetWeaver 的监控代理升级

安装 Google Cloud 的 Agent for SAP 3.6 版(最新版)会自动检测 SAP NetWeaver 监控代理版本。

如果检测到此代理,则其配置会在安装期间迁移到 Google Cloud 的 Agent for SAP。

更新 Google Cloud 的 Agent for SAP

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

检查更新

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

RHEL

  1. 与您的实例建立 SSH 连接。
  2. 运行以下命令:
    sudo yum check-update google-cloud-sap-agent

SLES

  1. 与您的实例建立 SSH 连接。
  2. 运行以下命令:
    sudo zypper list-updates -r google-cloud-sap-agent

Windows

  1. 与主机 Compute Engine 实例建立 RDP 连接。
  2. 以管理员身份从 PowerShell 运行以下命令:
    googet latest google-cloud-sap-agent

安装更新

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

RHEL

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

Windows

  1. 与主机 Compute Engine 实例建立 RDP 连接。
  2. 如需更新到代理 3.6 版(最新版),请以管理员身份从 PowerShell 运行以下命令:
    googet install google-cloud-sap-agent

降级 Google Cloud 的 Agent for SAP

虽然我们建议始终使用最新版 Google Cloud 的 Agent for SAP,但您可以通过运行以下命令,将其从最新版本降级到任何其他受支持的代理版本:

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)-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=0
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 downgrade google-cloud-sap-agent-VERSION_NUMBER.x86_64

SLES15

sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles15-x86_64 google-cloud-sap-agent
sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

SLES 12

sudo zypper addrepo --refresh https://packages.cloud.google.com/yum/repos/google-cloud-sap-agent-sles12-x86_64 google-cloud-sap-agent
sudo zypper install google-cloud-sap-agent-VERSION_NUMBER.x86_64

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

回滚到使用其他 Google Cloud 代理

本部分介绍了如何从使用 Google Cloud 的 Agent for SAP 3.6 版(最新版)及其前身代理回滚。

回滚到使用 Backint 代理

如果您要回滚到使用 Backint 代理并停止使用 Google Cloud 的 Agent for SAP 的 Backint 功能,请按照以下步骤操作:

  1. 删除与 Google Cloud 的 Agent for SAP 的 Backint 功能相关的所有文件:

    rm -r /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs

    SID 替换为您的 SAP 系统的 SID。

  2. 恢复升级到使用 Google Cloud 的 Agent for SAP 时存储为备份的 Backint 代理文件,方法是将这些文件复制到 backint-gcs 目录:

    cp -r /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs-old-TIMESTAMP /usr/sap/SID/SYS/global/hdb/opt/backint/backint-gcs

    替换以下内容:

    • SID:SAP 系统的 SID
    • TIMESTAMP:从 Backint 代理升级到 Google Cloud 的 Agent for SAP 时创建的文件夹名称中的时间戳值
  3. 使用 SAP HANA Studio 或 SAP HANA Cockpit 修改 global.ini 文件并更新 .txt 配置文件的路径。如需了解必须为其指定 .txt 文件的路径的参数,请参阅配置 SAP HANA 以使用 Backint 功能

  4. 保存对 global.ini 文件所做的更改。

回滚到使用 SAP HANA 监控代理

如果您要回滚到使用 SAP HANA 监控代理,并停止使用 Google Cloud 的 Agent for SAP 的 SAP HANA 监控功能,请按照以下步骤操作:

RHEL

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

  2. 为防止收集重复的指标,请停用通过 Google Cloud 的 Agent for SAP 收集 SAP HANA 监控指标的功能:

    1. 打开 Google Cloud 的 Agent for SAP 的配置文件:

      /etc/google-cloud-sap-agent/configuration.json
    2. hana_monitoring_configuration 部分中,将参数 enabled 设置为 false

    3. 保存配置文件。

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

      sudo systemctl restart google-cloud-sap-agent
  3. 从以下文件中复制 SAP HANA 监控代理的配置:

    /etc/google-cloud-sap-agent/backup-of-hanamonitoring-configuration.yaml
  4. 安装 SAP HANA 监控代理版本 2。如需查看安装说明,请参阅 SAP HANA 监控代理 V2.0 安装和操作指南

  5. 在以下文件中,粘贴您在上一步中复制的适用于 SAP HANA 的监控代理配置:

    /usr/sap/google-saphanamonitoring-agent/conf/configuration.yaml
  6. 重启 SAP HANA 监控代理:

    sudo systemctl start google-saphanamonitoring-agent

SLES

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

  2. 为防止收集重复的指标,请停用通过 Google Cloud 的 Agent for SAP 收集 SAP HANA 监控指标的功能:

    1. 打开 Google Cloud 的 Agent for SAP 的配置文件:

      /etc/google-cloud-sap-agent/configuration.json
    2. hana_monitoring_configuration 部分中,将参数 enabled 设置为 false

    3. 保存配置文件。

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

      sudo systemctl restart google-cloud-sap-agent
  3. 从以下文件中复制 SAP HANA 监控代理的配置:

    /etc/google-cloud-sap-agent/backup-of-hanamonitoring-configuration.yaml
  4. 安装 SAP HANA 监控代理版本 2。如需查看安装说明,请参阅 SAP HANA 监控代理 V2.0 安装和操作指南

  5. 在以下文件中,粘贴您在上一步中复制的适用于 SAP HANA 的监控代理配置:

    /usr/sap/google-saphanamonitoring-agent/conf/configuration.yaml
  6. 重启 SAP HANA 监控代理:

    sudo systemctl start google-saphanamonitoring-agent

卸载代理

如需从主机上卸载或移除代理,请执行以下操作:

RHEL

  1. 与主机建立 SSH 连接。

  2. 运行以下命令:

    sudo yum remove google-cloud-sap-agent

SLES

  1. 与主机建立 SSH 连接。

  2. 运行以下命令:

    sudo zypper remove google-cloud-sap-agent

Windows

  1. 与主机虚拟机实例建立 RDP 连接。

  2. 以管理员身份从 PowerShell 运行以下命令:

    Remove-Service -Name 'google-cloud-sap-agent'

在 Cloud Logging 中查看该代理的日志

默认情况下,Google Cloud 的 Agent for SAP 日志会从虚拟机实例和裸金属解决方案服务器重定向到 Cloud Logging

如需在 Logging 中查看代理的日志,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,转到日志浏览器页面。

    转到日志浏览器

  2. 转到查询窗格。

  3. 资源下拉菜单中选择全局,然后点击应用

  4. 在查询编辑器中,输入 google-cloud-sap-agent

  5. 点击运行查询

您应该会看到在所有虚拟机实例或裸金属解决方案服务器上运行的代理实例生成的日志。如需过滤特定机器的日志,请使用界面中提供的过滤条件。

您可以停用与指标收集相关的代理日志的默认重定向。为此,请完成以下步骤:

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

  2. 打开以下配置文件:

    /etc/google-cloud-sap-agent/configuration.json
  3. 对于参数 log_to_cloud,将值更新为 false

  4. 保存配置文件。

  5. 重启代理以使此更改生效。

如需停用与 Google Cloud 的 Agent for SAP 的 Backint 功能相关的日志的默认重定向,请修改 Backint 配置文件并将 log_to_cloud 参数设置为 false