先决条件
前提条件是运行 SAP HANA 系统。 本指南未详细介绍 SAP HANA 数据库和 SAP NetWeaver 解决方案的安装。
本文件概述了用户成功实施 SAP 监控解决方案所必须遵循的必要步骤。
收集 SAP 参数
从 IBM 云中运行的现有 SAP 系统中收集以下参数值。 SAP HANA DB 输出程序需要这些值,该输出程序将在运行于 IBM Cloud VPC 的 x86_64 虚拟服务器实例上安装和确认。
更多信息,请参阅 确定 SAP 参数。
来自 HANA DB 服务器的参数
来自 SAP NetWeaver 服务器的参数
- SAP ASCS 实例正在运行的服务器的 IPv4 地址。
- SAP PAS 实例正在运行的服务器的 IPv4 地址。
- SAP AAS 实例正在运行的服务器的 IPv4 地址 (如果有)。
- SAP ASCS 实例正在运行的服务器上的 sapstartsrv Web 服务的 HTTP 端口 (用于 ENQ 和 MSG 服务)。
- SAP PAS 实例正在运行的服务器上的 sapstartsrv Web 服务的 HTTP 端口。
- 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
权限,请运行以下命令
- 作为 SAP HANA 数据库系统管理员用户。
- 使用 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
服务均需遵循这些步骤。
-
列出实例和实例编号。
/usr/sap/hostctrl/exe/lssap
-
显示
sapstartsrv
服务的操作系统用户。ps aux|grep sapstart
-
将 shell 切换为
sapstartsrv
操作系统用户。su - <OS-user of sapstartsrv>
-
通过使用 lssap 提取的实例编号,列出已配置的网络方法。
sapcontrol -nr <ID> -function ParameterValue service/protectedwebmethods
-
如果输出结果如下
SDEFAULT
那么,需要进行以下配置。
在 SAP 默认配置文件中添加一行:
-
列出配置文件。
sapcontrol -nr <ID> -function ListConfigFiles
-
编辑名为
/usr/sap/<sid>/SYS/profile/<sid>_<instance-name>_<host-name>
-
如果条目
service/protectedwebmethods
已存在,则在末尾添加一行或更改现有行。#IBM SAP monitoring service/protectedwebmethods = SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable
-
保存配置文件,不更改文件名。
-
重新启动相应的服务。
sapcontrol -nr <ID> -function RestartService
重新启动可能需要一些时间。
-
运行以下命令检查状态。
sapcontrol -nr <ID> -function GetSystemInstanceList
状态显示
GREEN/ GRAY /YELLOW
。如果服务没有恢复到绿色,请参阅故障排除部分。
-
验证配置更改是否成功。
sapcontrol -nr <ID> -function ParameterValue service/protectedwebmethods
如果成功,将显示以下输出:
SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment –ABAPGetSystemWPTable
后续步骤
满足前提条件后,就可以进入下一步 创建 IBM Cloud Monitoring 实例。