在 Compute Engine 虚拟机上安装 SAP NetWeaver 的监控代理

要实现对 Google Cloud 上运行的 SAP 系统(包括 SAP NetWeaver、SAP HANA、SAP ASE、SAP MaxDB 等)的 SAP 支持,需要适用于 SAP NetWeaver 的 Google Cloud 监控代理。

在 Compute Engine 虚拟机实例上安装代理时,SAP NetWeaver 的监控代理会整合来自 Monitoring 和 Compute Engine API 的监控数据,并将这些数据提供给 SAP Host Agent。

如需在裸金属解决方案服务器上安装 SAP NetWeaver 的监控代理,请参阅在裸金属解决方案服务器上安装 SAP NetWeaver 的监控代理

安装概览

在 Linux 中,您可以使用标准操作系统软件包管理命令(yumzypper)安装 SAP NetWeaver 的监控代理。软件包管理命令可完成以下任务:

  • 下载 SAP NetWeaver 监控代理的最新版本。
  • 将该代理创建为一项名为 google-sapnetweavermonitoring-agent 的 Linux systemd 服务。

在 Windows 中,在发出安装命令时,所提供的安装脚本会完成以下任务:

  • 下载 SAP NetWeaver 监控代理的最新版本。
  • 创建一项名为 google-sapnetweavermonitoring-agent 的 Windows 服务以及每分钟运行一次的计划任务,以检查服务是否仍在运行,并在必要时重启服务。

SAP NetWeaver 监控代理的前提条件

在安装适用于 SAP NetWeaver 的监控代理之前,您需要确保对 Google Cloud API 的访问权限,并且确保具有正确的 JRE。

针对 Google Cloud API 的访问权限

SAP NetWeaver 的监控代理在 Compute Engine 虚拟机上运行时,会从 Monitoring 读取数据。

可以通过向主机虚拟机服务账号授予 IAM 权限和/或授予虚拟机 Google Cloud API 访问权限范围来控制对 Monitoring API 的访问权限。

Compute Engine 建议使用虚拟机服务账号的 IAM 权限来控制对 Google Cloud 资源的访问,并设置虚拟机访问权限范围以授予对所有 Cloud API 的完整访问权限。如需了解详情,请参阅最佳做法

SAP NetWeaver 的监控代理使用其主机虚拟机的服务账号来检索 Cloud Monitoring 指标。因此,该监控代理要求主机虚拟机具有服务账号且该服务账号需包含 monitoring.timeSeries.list 权限,该权限包含在预定义的 Monitoring Viewer 角色中。

如果您确实限制对 Cloud API 的访问,则 SAP NetWeaver 的监控代理要求主机虚拟机实例上具有以下最低 Cloud API 访问权限范围:

  • Compute Engine:只读
  • Stackdriver Monitoring API:只读

如果您是在没有外部 IP 地址的虚拟机上运行 SAP NetWeaver,则需要为 SAP NetWeaver 的监控代理启用访问 Google Cloud API 和服务的权限。

如需在子网上通过 Compute Engine 虚拟机启用专用 Google 访问通道,请参阅配置专用 Google 访问通道

Java 运行时环境

SAP NetWeaver 的监控代理版本 2 需要特定版本的 Java 运行时环境 (JRE)。

如果安装代理所在的服务器有权访问互联网,则代理会在安装期间自动下载文件。

如果服务器没有互联网访问权限,您可以自行将文件上传到服务器。

Linux

如需自行上传,请在安装代理之前,先将以下文件上传到 /tmp/gcpsapdeps/ 目录:

https://github.com/SAP/SapMachine/releases/download/sapmachine-17.0.1/sapmachine-jre-17.0.1_linux-x64_bin.tar.gz

Windows

如需自行上传,请在安装代理之前,先将以下文件上传到 C:\gcpsapdeps 目录:

https://github.com/SAP/SapMachine/releases/download/sapmachine-17.0.1/sapmachine-jre-17.0.1_windows-x64_bin.zip

安装适用于 SAP NetWeaver 的监控代理

如需安装 SAP NetWeaver 的监控代理,请选择您的操作系统,并按照步骤进行操作:

Linux

将 Google Cloud RPM 代码库添加到操作系统代码库列表中

您需要将 SAP NetWeaver 监控代理的 Google Cloud RPM 代码库网址添加到操作系统的 Package Repository 的列表中。根据您使用的是 Red Hat 还是 SLES 操作系统,您添加代码库的方式会有所不同。

RHEL

如需将 Google Cloud RPM 代码库添加到 RHEL,请按照以下步骤操作:

  1. 与主机虚拟机建立 SSH 连接。

  2. RHEL_VERSION 替换为您的操作系统版本号后,运行以下命令。例如,将 RHEL_VERSION 替换为 7(对于 RHEL 7)或 8(对于 RHEL 8)。您可能需要向下滚动才能看到 RHEL_VERSION

    sudo tee /etc/yum.repos.d/google-sapnetweavermonitoring-agent.repo << EOM
    [google-sapnetweavermonitoring-agent]
    name=Google Cloud monitoring agent for SAP NetWeaver
    baseurl=https://packages.cloud.google.com/yum/repos/google-sapnetweavermonitoring-agent-elRHEL_VERSION-\$basearch
    enabled=1
    gpgcheck=0
    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

SLES

如需将 Google Cloud RPM 代码库添加到 SLES,请按照以下步骤操作:

  1. 与主机虚拟机建立 SSH 连接。

  2. SLES_VERSION 替换为您的操作系统版本号后,运行以下命令。例如,将 SLES_VERSION 替换为 12(对于 SLES 12)或 15(对于 SLES 15)。您可能需要向下滚动才能看到 SLES_VERSION

    zypper addrepo --gpgcheck-allow-unsigned-package --refresh \
    https://packages.cloud.google.com/yum/repos/google-sapnetweavermonitoring-agent-slesSLES_VERSION-\$basearch google-sapnetweavermonitoring-agent

安装代理

您可以使用操作系统软件包管理器安装适用于 SAP NetWeaver 的监控代理。

如需安装此代理,请选择您的操作系统,然后按照以下步骤操作:

RHEL

  1. 与主机虚拟机建立 SSH 连接。

  2. 运行以下命令:

    sudo yum install google-sapnetweavermonitoring-agent

SLES

  1. 与主机虚拟机建立 SSH 连接。

  2. 运行以下命令:

    sudo zypper --no-gpg-checks install google-sapnetweavermonitoring-agent

Windows

如需安装 SAP NetWeaver 的监控代理,请以管理员身份在主机虚拟机上运行以下命令:

. { Invoke-WebRequest -useb https://storage.googleapis.com/cloudsapdeploy/netweaver-agent-windows/install.ps1 } | iex

安装适用于 SAP NetWeaver 和 SAP Host Agent 的监控代理后,请验证适用于 SAP NetWeaver 的监控代理的安装情况,如验证代理的安装情况中所述。

验证 SAP NetWeaver 的监控代理安装

如需验证适用于 SAP NetWeaver 的监控代理是否正在运行,请选择您的操作系统,然后按照以下步骤操作:

Linux

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

  2. 运行以下命令:

    sudo systemctl status google-sapnetweavermonitoring-agent

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

    google-sapnetweavermonitoring-agent.service - Google Cloud monitoring agent for SAP NetWeaver
    Loaded: loaded (/usr/lib/systemd/system/google-sapnetweavermonitoring-agent.service; enabled; vendor preset: disabled)
    Active:  active (running)  since Thu 2021-09-02 07:21:42 UTC; 742ms ago
    Main PID: 10723 (java)
    Tasks: 26 (limit: 512)
    CGroup: /system.slice/google-sapnetweavermonitoring-agent.service
           └─10723 /usr/sap/google-sapnetweavermonitoring-agent/jre/bin/java -Xms32m -Xmx64m -cp /usr/sap/google-sapnetweavermonitoring-age...
    

Windows

  1. 使用 RDP 连接到要监控的虚拟机实例。

  2. 运行以下命令:

    Get-Service -Name google-sapnetweavermonitoring-agent

    如果 SAP NetWeaver 的监控代理正常运行,则 Status 列会显示 Running。例如:

        Status   Name               DisplayName
        ------   ----               -----------
        Running  google-sapnetwe... Google Cloud monitoring agent for S...
    

如果监控代理未运行,请参阅操作指南中的重启代理部分。

验证 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