IBM Cloud Docs
先决条件

先决条件

前提条件是运行 SAP HANA 系统。 本指南未详细介绍 SAP HANA 数据库和 SAP NetWeaver 解决方案的安装。

本文件概述了用户成功实施 SAP 监控解决方案所必须遵循的必要步骤。

收集 SAP 参数

从 IBM 云中运行的现有 SAP 系统中收集以下参数值。 SAP HANA DB 输出程序需要这些值,该输出程序将在运行于 IBM Cloud VPC 的 x86_64 虚拟服务器实例上安装和确认。

更多信息,请参阅 确定 SAP 参数

来自 HANA DB 服务器的参数

  1. SAP HANA DB 服务器的 IPv4 地址
  2. SAP HANA 服务器上系统数据库的 SQL 访问端口
  3. SAP HANA 服务器上 sapstartsrv Web 服务的 HTTP 端口
  4. 系统数据库的 SQL 用户证书。 如果要创建具有 ReadOnly 权限的用户,请参阅 创建只读系统用户

来自 SAP NetWeaver 服务器的参数

  1. SAP ASCS 实例正在运行的服务器的 IPv4 地址
  2. SAP PAS 实例正在运行的服务器的 IPv4 地址
  3. SAP AAS 实例正在运行的服务器的 IPv4 地址 (如果有)。
  4. SAP ASCS 实例正在运行的服务器上的 sapstartsrv Web 服务的 HTTP 端口 (用于 ENQ 和 MSG 服务)。
  5. SAP PAS 实例正在运行的服务器上的 sapstartsrv Web 服务的 HTTP 端口
  6. SAP AAS 实例正在运行的服务器上的 sapstartsrv Web 服务的 HTTP 端口 (如果有)。

IBM Cloud VPC 中运行的 x86_64 虚拟服务器实例 (作为监控主机的服务器)将暴露以下端口号。 相应的服务基于 SAP HANA 数据库输出变量。

暴露的服务端口
暴露的端口号 服务描述
5<sap_monitoring_nr>01 Prometheus 代理人
5<sap_monitoring_nr>02 hanadb_exporter
5<sap_monitoring_nr>03 sap_host_exporter SAP HANA 数据库。
5<sap_monitoring_nr>04 sap_host_exporter 用于 ABAP 中央服务 (ASCS) 服务器。
5<sap_monitoring_nr>05 sap_host_exporter 是主要或第一个 应用服务器。SAP
5<sap_monitoring_nr>06 sap_host_exporter 是第二个 应用服务器。SAP
5<sap_monitoring_nr>07 sap_host_exporter 是第三个 应用服务器。SAP

如果您有多个 SAP 系统,则需要区分它们。 这意味着必须调整配置文件名。 即 systemd 进程的名称和本地暴露的 HTTP 端口的编号。

检查 SAP 系统上的防火墙设置

IBM Cloud® 为每个子网提供已配置的 ACL(访问控制列表)和安全组。

  • 在每个 SAP 系统上,本地操作系统防火墙和 SELinux/AppArmor 默认为禁用。
  • 如果操作系统防火墙已启用,请检查每个 SAP 系统上 SQL 端口和 SAP 实例端口的防火墙设置。
  • 如果决定使用 firewalld 服务,请打开 SAP 系统和监控主机(运行于 IBM Cloud VPC 的 x86_64 虚拟服务器实例)上使用的端口。
  • 使用以下命令允许 firewalld 服务使用其他端口。
    firewall-cmd --zone=public --permanent --add-port ${port_number}/tcp
    systemctl reload firewalld

创建具有 ReadOnly 权限的 SAP HANA 数据库监控用户(可选)

如果已经有一个只读用户,并且可以使用同一个 SAP HANA 数据库用户进行监控,则跳过这一步。

请勿使用具有管理员权限的用户监控 SAP HANA 数据库。

要为监控角色创建一个新的 SAP HANA 数据库用户,并拥有 ReadOnly 权限,请运行以下命令

  1. 作为 SAP HANA 数据库系统管理员用户。
  2. 使用 SAP HANA 命令行工具 hdbsql

更多信息,请参阅 确定 SAP 参数 一节。

CREATE USER <sap_hana_sql_systemdb_user> PASSWORD <sap_hana_sql_systemdb_password> \
NO FORCE_FIRST_PASSWORD_CHANGE;
CREATE ROLE HANADB_EXPORTER_ROLE;
GRANT MONITORING TO HANADB_EXPORTER_ROLE;
GRANT HANADB_EXPORTER_ROLE TO <sap_hana_sql_systemdb_user>;

为 SAP 监控设置无密码身份验证

配置 SAP 系统,允许在没有用户和密码验证的情况下进行监控查询。

默认情况下,所有可以修改实例或系统状态的 sapstartsrv 方法都被归类为受保护方法。 这些方法只有在用户身份验证成功后才能执行。 要在不进行身份验证的情况下启用监控,请配置 sapstartsrv 服务,以便将监控查询所需的方法视为不受保护。

SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable

为以下 SAP 实例配置此设置:

  • HDB<ID> SAP HANA 数据库主机上
  • ASCS<ID> SAP 应用服务器主机上
  • D<ID> 在所有相应的 应用服务器主机上 SAP

所有 sapstartsrv 服务均需遵循这些步骤。

  1. 列出实例和实例编号。

    /usr/sap/hostctrl/exe/lssap
    
  2. 显示 sapstartsrv 服务的操作系统用户。

    ps aux|grep sapstart
    
  3. 将 shell 切换为 sapstartsrv 操作系统用户。

    su - <OS-user of sapstartsrv>
    
  4. 通过使用 lssap 提取的实例编号,列出已配置的网络方法。

    sapcontrol -nr <ID> -function ParameterValue service/protectedwebmethods
    
  5. 如果输出结果如下

    SDEFAULT
    

那么,需要进行以下配置。

在 SAP 默认配置文件中添加一行:

  1. 列出配置文件。

    sapcontrol -nr <ID> -function ListConfigFiles
    
  2. 编辑名为 /usr/sap/<sid>/SYS/profile/<sid>_<instance-name>_<host-name>

  3. 如果条目 service/protectedwebmethods 已存在,则在末尾添加一行或更改现有行。

    #IBM SAP monitoring
    service/protectedwebmethods = SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable
    
  4. 保存配置文件,不更改文件名。

  5. 重新启动相应的服务。

    sapcontrol -nr <ID> -function RestartService
    

    重新启动可能需要一些时间。

  6. 运行以下命令检查状态。

    sapcontrol -nr <ID> -function GetSystemInstanceList
    

    状态显示 GREEN/ GRAY /YELLOW

    如果服务没有恢复到绿色,请参阅故障排除部分。

  7. 验证配置更改是否成功。

    sapcontrol -nr <ID> -function ParameterValue service/protectedwebmethods
    

    如果成功,将显示以下输出:

    SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment –ABAPGetSystemWPTable
    

后续步骤

满足前提条件后,就可以进入下一步 创建 IBM Cloud Monitoring 实例