你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为 Azure Monitor for SAP Solutions 配置 SAP NetWeaver
本操作指南将介绍如何配置 SAP NetWeaver 提供程序以便与 Azure Monitor for SAP Solutions 配合使用。
配置 SAP Netweaver 提供程序以从 SAP 系统收集信息时,用户可以在两种连接类型之间进行选择。 使用以下方式收集指标
- SAP Control - SAP 启动服务提供了许多服务,其中包括监视 SAP 系统。 两个 Azure Monitor for SAP Solutions 版本都使用 SAPControl,这一 SOAP Web 服务接口可公开这些功能。 SAP Control 接口可区分受保护和不受保护的 Web 服务方法。 务必取消保护某些方法才能将 Azure Monitor for SAP Solutions 与 NetWeaver 配合使用。
- SAP RFC - Azure Monitor for SAP Solutions 还提供使用标准 SAP RFC 从 SAP 系统收集其他信息的功能。 它仅作为 Azure Monitor for SAP Solutions 的一部分提供。
可以使用 SAP NetWeaver 提供程序收集以下指标:
- SAP 系统和应用程序服务器可用性(例如调度程序、ICM、网关、消息服务器、排队服务器、IGS 监视器的实例进程可用性)(SAP Control)
- 工作进程使用情况统计信息和趋势 (SAP Control)
- 排队锁统计信息和趋势 (SAP Control)
- 队列使用情况统计信息和趋势 (SAP Control)
- SMON 指标 (transaction code - /SDF/SMON) (RFC)
- SWNC 工作负载、内存、事务、用户、RFC 使用情况(事务代码 - St03n)(RFC)
- 短转储(事务代码 - ST22)(RFC)
- 对象锁定(事务代码 - SM12)(RFC)
- 更新失败(事务代码 - SM13)(RFC)
- 系统日志分析(事务代码 - SM21)(RFC)
- 批处理作业统计信息(事务代码 - SM37)(RFC)
- 出站队列(事务代码 - SMQ1)(RFC)
- 入站队列(事务代码 - SMQ2)(RFC)
- 交易 RFC(事务代码 - SM59)(RFC)
- STMS 更改传输系统指标(事务代码 - STMS)(RFC)
先决条件
- Azure 订阅。
- 现有 Azure Monitor for SAP 解决方案资源。 如需创建 Azure Monitor for SAP Solutions 资源,请参阅 Azure 门户快速入门或 PowerShell 快速入门。
为 Azure Monitor for SAP Solutions 配置 SAP NetWeaver
若要为当前 Azure Monitor for SAP Solutions 版本配置 NetWeaver 提供程序,需要执行以下操作:
请参阅“故障排除”部分以解决添加 SAP NetWeaver 提供程序时遇到的任何问题。
先决条件 - 取消保护指标的方法
配置 SAP NetWeaver 提供程序时,必须执行此步骤。 若要提取特定指标,需取消保护每个 SAP 实例中的一些方法:
打开与 SAP 服务器的 SAP GUI 连接。
使用管理帐户登录。
执行事务 RZ10。
选择适当的配置文件(推荐的实例配置文件)。
依次选择“扩展维护”>“更改” 。
选择配置文件参数
service/protectedwebmethods
。将值更改为:
SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable
选择“复制”。
选择“配置文件”>“保存”以保存更改。
在 SAP 系统中的每个实例上重启 SAPStartSRV 服务。 重启服务时,不会使整个系统重启。 此过程只会重启 SAPStartSRV(在 Windows 上)或守护进程(在 Unix 或 Linux 上)。
必须在 SAP 系统的每个实例上重启 SAPStartSRV 才能取消保护 SAP Control Web 方法。 NetWeaver 提供程序需要只读 SOAP API 才能从 SAP 系统提取指标数据。 如果不取消对这些方法的保护,NetWeaver 指标工作簿中的可视化结果将为空或缺失。
在 Windows 系统上,使用 SAP Microsoft 管理控制台 (MMC) 或 SAP 管理控制台 (MC) 重启服务。 右键单击每个实例。 然后选择“所有任务”>“重启服务”。
在 Linux 系统上,使用以下命令重启主机。 将
<instance number>
替换为 SAP 系统的实例编号。
sapcontrol -nr <instance number> -function RestartService
- 对每个实例配置文件重复上述步骤,或者也可以选择在较低环境中重启 SAP 系统。
用于取消 Web 方法保护的 PowerShell 脚本
可以参考此链接,取消对 SAP Windows 虚拟机中 Web 方法的保护。
启用 RFC 指标的先决条件
RFC 指标仅适用于 AS ABAP 应用程序,不适用于 SAP JAVA 系统。 当选择的连接类型为 SOAP+RFC 时,必须执行此步骤。 作为启用 RFC 的前提条件,需要执行以下步骤
在 SAP NW ABAP 系统中创建或上载角色。 Azure Monitor for SAP Solutions 需要该角色连接到 SAP。 该角色使用最低权限访问。 下载并解压缩 Z_AMS_NETWEAVER_MONITORING.zip
- 登录到 SAP 系统。
- 使用事务代码 PFCG,然后在菜单中选择“角色上传”。
- 从 ZIP 文件上传 Z_AMS_NETWEAVER_MONITORING.SAP 文件。
- 选择“执行”以生成角色。 (确保配置文件也作为角色上载的一部分生成)
在 SAP 系统中通过传输导入角色
还可以参考此链接,在 PFCG 中导入角色,并生成配置文件,以便为 SAP 系统成功配置 Netweaver 提供程序。
创建新的 RFC 用户并为其授权。
- 创建 RFC 用户。
- 将 Z_AMS_NETWEAVER_MONITORING 角色分配给用户。 这是你在上一部分中上传的角色。
启用 SICF 服务以便通过 SAP Internet 通信框架 (ICF) 访问 RFC
- 转到事务代码“SICF”。
- 转到服务路径
/default_host/sap/bc/soap/
。 - 激活服务 wsdl、**wsdl11 和 RFC。
建议检查是否启用了 ICF 端口。
SMON - 启用 SMON 以监视系统性能。 确保 ST-PI 版本为 SAPK-74005INSTPI。
未配置时,你将看到工作簿中的可视化效果为空。- 为系统启用 SDF/SMON 快照服务。 启用每日监视。 有关说明,请参阅 SAP 说明 2651881。
- 将 SDF/SMON 指标配置为每分钟聚合一次。
- 建议将 SDF/SMON 计划为目标 SAP 客户端中的后台作业(每分钟)。
- 如果在工作簿的“系统性能 - CPU 和内存(/SDF/SMON)”选项卡中注意到可视化效果为空,请应用以下 SAP 说明:
- 版本 740 SAPKB74006-SAPKB74025 - 版本 755(截至 SAPK-75502INSAPBASIS)。 有关特定支持包版本,请参阅 SAP 说明 - SAP 说明 2246160。
- 如果指标收集不适用于上一条说明,请尝试 - SAP 说明 3268727
启用安全通信
若要在 SAP NetWeaver 提供程序中启用 TLS 1.2 或更高版本,请按照 SAP 文档中提到的步骤执行
检查 SAP 系统是否已配置为使用 TLS 1.2 或更高版本进行安全通信
- 转到事务 RZ10。
- 打开默认配置文件,选择“扩展维护”并选择“更改”。
- 以下配置适用于 TLS1.2,位掩码将为 544: PFS。 如果 TLS 版本更高,则位掩码将大于 544。
检查在创建提供过程中要提供的 HTTPS 端口
- 转到事务 SMICM。
- 从菜单中选择“GOTO”->“服务”。
- 验证 HTTPS 协议是否处于活动状态。
添加 NetWeaver 提供程序
确保所有先决条件都已成功完成。 添加 NetWeaver 提供程序:
登录 Azure 门户。
转到 Azure Monitor for SAP Solutions 服务页。
选择“创建”以打开资源创建页面。
输入“基本信息”选项卡的信息。
选择“提供程序”选项卡,然后选择“添加提供程序”。
配置新的提供程序:
对于“类型”,选择“SAP NetWeaver” 。
对于“名称”,为提供程序提供一个唯一名称
对于“系统 ID (SID)”,输入三个字符的 SAP 系统标识符。
对于“应用程序服务器”,请输入要监视的 SAP NetWeaver 系统的 IP 地址或完全限定的域名 (FQDN) 。 例如
sapservername.contoso.com
,其中sapservername
是主机名,contoso.com
是域。 如果使用主机名,请确保从用于创建 Azure Monitor for SAP Solutions 资源的虚拟网络建立连接。对于“实例编号”,请指定 SAP NetWeaver 的实例编号 (00-99)
对于“SAP 客户端 ID”,请提供 SAP 客户端标识符。
对于“SAP ICM HTTP 端口”,请输入 ICM 正在使用的端口,例如 80(NN),其中 (NN) 是实例编号。
对于“SAP 用户名”,输入为连接到 SAP 系统而创建的用户名。
对于“SAP 密码”,输入用户的密码。
对于“主机文件条目”,请提供与 SID 关联的所有 SAP VM 的 DNS 映射,并在“主机文件条目”中输入所有 SAP 应用程序服务器和 ASC 主机文件条目。 输入主机文件映射(采用逗号分隔格式)。 每个条目的预期格式是 IP 地址、FQDN、主机名。 例如:192.X.X.X sapservername.contoso.com sapservername,192.X.X.X sapservername2.contoso.com sapservername2。 若要确定与 SID 关联的所有 SAP 主机名,请使用
sidadm
用户登录到 SAP 系统。 然后,运行以下命令,或者可以使用以下脚本生成主机文件条目。用于查找与给定 SID 关联的实例列表的命令
/usr/sap/hostctrl/exe/sapcontrol -nr <instancenumber> -function GetSystemInstanceList
用于生成主机文件条目的脚本
强烈建议按照此链接中的详细说明生成主机文件条目。 这些条目对于为 SAP 系统成功创建 Netweaver 提供程序至关重要。
SAP Netweaver 提供程序故障排除
添加 Netweaver 提供程序时的常见问题。
无法访问 SAP 主机名。 ErrorCode:SOAPApiConnectionError
检查是否有未受保护的更新规则。 ErrorCode:SOAPWebMethodsValidationFailed
重启 SAP 服务后,请检查更新的规则是否应用于每个实例。
以
sidadm
身份登录 SAP 系统时。 运行以下命令。 将<instance number>
替换为系统的实例编号。sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods
以非 SIDADM 用户身份登录时。 运行以下命令,将
<instance number>
替换为系统的实例号,将<admin user>
替换为管理员用户名,将<admin password>
替换为密码。sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods -user "<admin user>" "<admin password>"
查看输出。 确保在输出中看到以下方法的名称:GetQueueStatistic ABAPGetWPTable EnqGetStatistic GetProcessList GetEnvironment ABAPGetSystemWPTable
对每个实例配置文件重复上述步骤。
若要验证规则,请针对 Web 方法运行测试查询。 将
<hostname>
替换为主机名,将<instance number>
替换为 SAP 实例编号,将方法名称替换为适当的方法。$SAPHostName = "<hostname>" $InstanceNumber = "<instance number>" $Function = "ABAPGetWPTable" [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} $sapcntrluri = "https://" + $SAPHostName + ":5" + $InstanceNumber + "14/?wsdl" $sapcntrl = New-WebServiceProxy -uri $sapcntrluri -namespace WebServiceProxy -class sapcntrl $FunctionObject = New-Object ($sapcntrl.GetType().NameSpace + ".$Function") $sapcntrl.$Function($FunctionObject)
确保 Internet 通信框架端口处于打开状态。 ErrorCode:RFCSoapApiNotEnabled
登录 SAP 系统
转到事务代码“SICF”。
导航到服务路径
/default_host/sap/bc/soap/
。右键单击 ping 服务,然后选择“测试服务”。 SAP 将启动默认浏览器。
如果无法访问端口或测试失败,请在 SAP VM 中打开端口。
对于 Linux,请运行以下命令。 将
<your port>
替换为配置的端口。sudo firewall-cmd --permanent --zone=public --add-port=<your port>/TCP
sudo firewall-cmd --reload
对于 Windows,请从“开始”菜单打开Windows Defender 防火墙。 在侧菜单中选择“高级设置”,然后选择“入站规则”。 若要打开端口,请选择“新建规则”。 添加端口并将协议设置为 TCP。
指标收集的常见问题和可能的解决方案
SMON 指标
请参阅先决条件中的 SMON 部分
批处理作业指标
如果在工作簿的“应用程序性能 - 批处理作业(SM37)”选项卡中注意到可视化效果为空,请在 SAP 系统中应用以下 SAP 说明 SAP 说明 2469926。
应用 OSS 说明后,需要执行 RFC 函数模块 - BAPI_XMI_LOGON_WS,并使用以下参数:
此函数模块的参数与 BAPI_XMI_LOGON 的相同,但它们存储在表 BTCOPTIONS 中。
INTERFACE = XBP VERSION = 3.0 EXTCOMPANY = TESTC EXTPRODUCT = TESTP
SWNC 指标
为了确保成功检索 SWNC 指标,必须确认 SAP 系统和操作系统 (OS) 的时间已同步。