使用 Java NetWeaver 传感器监控 SAP

您可以使用 Instana Java NetWeaver 传感器来监控在 SAP Java NetWeaver 上运行的 Java 应用程序,从而识别瓶颈并优化其性能。 安装 Instana 主机代理后, Java NetWeaver 传感器将自动安装。 配置好 Java NetWeaver 传感器后,您可以在 Instana 用户界面中查看与其相关的指标。

支持信息

为确保 SAP Java NetWeaver 传感器与您的当前配置兼容,请查阅以下章节:

受支持的操作系统

Instana 支持以下操作系统,用于对 SAP Java NetWeaver 传感器进行本地和远程监控:

  • 本地监控 : Instana 代理安装在与 SAP Java NetWeaver 系统相同的主机上:

    • AIX
    • Linux ( x86 和 IBM PowerPC 64位 LE)
    • Windows
  • 远程监控 : Instana 代理安装在另一台主机上,并远程连接到 SAP Java NetWeaver 服务器:

    • AIX
    • Linux ( x86 和 IBM PowerPC 64位 LE)
    • Windows
    • IBM i ( OS/400 PASE)
    • Apple macOS (64位 - Intel和 Apple silicon )
注: 对于远程监控,上述操作系统列表对应于安装了 Instana 代理的主机。

支持的版本

SAP Java NetWeaver 传感器支持 SAP Java NetWeaver 7.5。

配置 SAP Java NetWeaver 传感器

Instana 支持对 SAP Java NetWeaver 传感器进行本地和远程监控。

注意: 请将所有本地监控配置添加到 标签 local 下。

若要将传感器直接连接到 SAP、 Java 或 NetWeaver 实例,请按照以下示例添加本地远程配置。 请将示例值替换为适用于您环境的具体值。 指标的默认轮询间隔设置为60秒。

请确保每行开头的空格格式与以下示例中所示的一样,因为这符合 YAML 的格式语法。

局部配置

本地监控的配置参数如下例所示:

# SAP Java Netweaver
com.instana.plugin.sap.java.netweaver:
 enabled: true
 local: # local monitoring configuration
  - jmxport: '12345'
    user: 'User1'
    password: 'password'
    sysnr: '01'
    poll_rate: 60 # seconds
 

configuration.yaml 文件中,为、 userjmxportpassword 、和 sysnr (实例ID)输入相应的值。 指标的默认轮询间隔设置为60秒。

在本地监控中,该 host 参数是可选的。 默认情况下,系统使用 localhost 或回环 IP 地址。 如果您希望 SAP Java NetWeaver 使用特定的主机名或 IP 地址,可以在配置中添加 参数 host

以下示例展示了该 host 参数在配置中的添加位置:
# SAP Java Netweaver
com.instana.plugin.sap.java.netweaver:
 enabled: true
 local: # local monitoring configuration
  - host: 'host-1.com' # Optional, only required if you want to use a specific host name or IP address
    jmxport: '12345'
    user: 'User1'
    password: 'password'
    sysnr: '01'
    poll_rate: 60 # seconds

远程配置

远程监控的配置参数如下例所示:

# SAP Java Netweaver 
com.instana.plugin.sap.java.netweaver # remote monitoring configuration 
  enabled: true
  remote : #multiple configurations supported
    - host: 'remote.host-1.com'
      jmxport: '23456'
      user: 'User1'
      password: 'password'
      sysnr: '72'
      poll_rate: 60 # seconds
    - host: 'remote.host-2.com'
      jmxport: '23456'
      user: 'User1'
      password: 'password'
      sysnr: '72'
      poll_rate: 60 # seconds
 

在 文件 configuration.yaml 中,为 hostjmxportuserpasswordsysnr (实例ID)输入相应的值。 指标的默认轮询间隔设置为60秒。

配置参数

下表列出了 SAP Java NetWeaver传感器配置参数:

参数 描述
host 传感器从中获取指标的 SAP、 Java 或 NetWeaver 实例的 IP 地址或完整主机名。
jmxport 用于与 JMX 代理进行远程通信的端口。
sysnr 例如, SAP Java NetWeaver 实例的实例 ID 为 01。
user 在 SAP Java 实例中配置的用户名。 SAP 用户必须具备获取指标的权限。 如需了解更多信息, 请参阅《验证用户拉取指标的授权》
password 用户登录 SAP Java NetWeaver 系统所需的密码。

验证用户提取指标的授权

要启用 SAP NetWeaver 系统的远程监控功能,请通过完成以下步骤配置 SAP NetWeaver 系统的 Java Management Extensions ( JMX ):

  1. 以管理员身份通过浏览器登录 SAP NetWeaver 系统。
  2. Go 转到 SAP NetWeaver 管理员 > 配置 > 基础架构 > Java 系统属性 > 系统 VM 参数
  3. 添加以下参数:
    com.sun.management.jmxremote.port = 23456 
    com.sun.management.jmxremote.rmi.port = 23456 
    com.sun.management.jmxremote.ssl  = false 
    com.sun.management.jmxremote.authenticate = false 
     
    NetWeaver 角色
  4. 如果强制执行身份验证,请确保将以下参数设置为 true

    com.sun.management.jmxremote.authenticate = true
注: 用户授权在 SAP Java NetWeaver 系统上进行。 您必须为与该 Java NetWeaver 传感器 configuration.yaml 中指定的用户和实例 ID 相同的用户提供用户授权。

要访问 JMX 的MBeans,用户必须具备相应的权限。 可以为用户分配 SAP、 Java、 NetWeaver 中提供的任何默认角色(例如 EveryoneGuestNWA_READONLY),或者已创建的自定义角色。 请确保该 JmxManageAll 操作已分配给当前使用的角色,因为所有必要的指标均通过 JMX 进行捕获。

以下步骤以 Guest 角色为例进行说明,但操作步骤对其他已分配的角色也类似:

  1. Go 转至 SAP NetWeaver 管理员 > 配置 > 安全 > 身份管理

  2. 角色条件搜索,并选择访客角色。

  3. “已分配操作 ”选项卡上,添加 jmx

    NetWeaver 角色

或者,直接向目标用户授予必要的 JMX 权限,而非修改Guest角色。

配置 SSL 支持

<agent_install_dir>/etc/instana/configuration.yaml若要让 Instana 代理通过安全套接层( SSL )协议安全地连接到您的 SAP Java NetWeaver ,请在代理配置文件中添加以下配置:

<agent_install_dir>/etc/instana/configuration.yaml若要让 Instana 代理通过安全套接层( SSL )协议安全地连接到您的 SAP Java NetWeaver ,请在代理配置文件中添加以下配置:

本地监视

若要进行本地监控,请添加以下配置:

# SAP Java Netweaver
com.instana.plugin.sap.java.netweaver:
 enabled: true
 local: # local monitoring configuration
  - jmxport: '12345'
    host: 'host-1.com'
    user: 'User1'
    password: 'password'
    sysnr: '01'
    poll_rate: 60 # seconds
    ssl_enabled: true

远程监控

若要进行远程监控,请添加以下配置:

# SAP Java Netweaver 
com.instana.plugin.sap.java.netweaver # remote monitoring configuration 
  enabled: true
  remote : #multiple configurations supported
    - host: 'remote.host-1.com'
      jmxport: '23456'
      user: 'User1'
      password: 'password'
      sysnr: '72'
      poll_rate: 60 # seconds
      ssl_enabled: true

ssl_enabled 设置为 true时,您需要使用 keytool 命令将受信任的证书导入 JRE 的 cacerts (/jvm/lib/security/cacerts) 中:

keytool -import -alias ALIAS_NAME -keystore "/path/to/jre/cacerts" -file YOUR_CERTIFICATE_NAME.crt
注意: 您可以使用该 host 属性来指定证书中使用的主机名。 这可确保 Instana 代理所使用的主机名与证书中指定的主机名一致。 在本地监控环境中,当 Instana 代理使用回环地址( 127.0.0.1 ),而证书使用完全合格的主机名时,此设置就显得尤为重要。

查看度量值

安装主机代理并配置 Java NetWeaver传感器后,您可以在 Instana 用户界面中查看 SAP 的指标和警报。

基础设施视图

要查看基础架构视图中的指标,请完成以下步骤:

  1. 在 Instana 用户界面的侧边栏中,选择 “基础架构”
  2. “地图 ”选项卡上,点击 SAP、 Java 或 NetWeaver 中对应的塔楼。
  3. 点击打开仪表盘

您可以查看 SAP Java NetWeaver 仪表盘,其中包含所有已收集的指标。

平台视图

要在平台视图中查看指标,请完成以下步骤:

  1. 在 Instana 用户界面的导航菜单中,选择平台 > SAP。 您可以在不同的标签页中查看 SAP 的系统、实例和数据库。
  2. 要查看已连接到 Java NetWeaver 传感器的 SAP 实例,请单击 “实例 ”选项卡。 传感器名称通常列为 JavaNetWeaverInstance@HostName_SID_InstanceID
  3. 点击 SAP Java NetWeaver 实例,即可查看包含所有已收集指标的 SAP Java NetWeaver 仪表盘。

收集的度量

下表概述了由 Java NetWeaver 收集的指标及其收集频率:

度量数据已收集 收集频率
应用任务 60 秒
应用程序线程 60 秒
应用程序线程池 60 秒
高速缓存命中率 60 秒
高速缓存使用情况 60 秒
类装入信息 60 秒
编译时间 60 秒
CPU 60 秒
磁盘使用情况 120 秒
GC系列 60 秒
GC 错误 60 秒
GC 问题数 60 秒
GC报告 60 秒
堆内存与非堆内存 60 秒
HTTP 请求 60 秒
HTTP 响应 60 秒
JDBC 连接池 60 秒
JDBC 请求超时 60 秒
JVM 线程 60 秒
JVM CPU负载 60 秒
JVM 系统负载平均值 60 秒
许可证有效期 60 秒
日志消息 60 秒
已登录用户数 60 秒
内存 60 秒
进程 CPU 使用率 60 秒
RFC 60 秒
会话 60 秒
交换空间 60 秒
系统平均负载 60 秒
系统问题数 60 秒
表缓冲区 60 秒
线程计数 60 秒
线程池使用率 60 秒
线程时间 60 秒
事务 60 秒
等待任务使用情况 60 秒
Web 容器会话 60 秒
Web 容器请求 60 秒
Web 容器吞吐量 60 秒
Web 会话数 60 秒
Web Service 60 秒
正常运行时间 60 秒

Java NetWeaver 传感器会为各种场景生成内置事件。 有关更多信息,请参阅内置事件参考

配置自定义指标收集

您可以通过配置 Java NetWeaver 传感器,收集除标准指标之外、专属于您环境的自定义指标。

例如,您正在远程监控一个 SAP Java NetWeaver 系统。 要收集与 Java 消息服务(JMS)相关的指标,请在“自定义”部分中指定JMS相关信息,如下例所示:

com.instana.plugin.sap.java.netweaver:
  enabled: true
  remote:
    - host: 'remote.host-1.com'
      jmxport: '23456'
      user: 'User1'
      password: 'password'
      sysnr: '72'
      poll_rate: 60 
  custom:
     jmxBeans:
       - name: JMS_CONNECTION_COUNT
         object: "com.sap.default:name=\"/Services/JMS/default/SessionContainer/Connections count\",j2eeType=SAP_MonitorPerNode,*"
         attribute: "Value"
       - name: JMS_CONSUMER_COUNT
         object: "com.sap.default:name=\"/Services/JMS/default/SessionContainer/Consumers count\",j2eeType=SAP_MonitorPerNode,*"
         attribute: "Value"
       - name: JMS_PRODUCER_COUNT
         object: "com.sap.default:name=\"/Services/JMS/default/SessionContainer/Producers count\",j2eeType=SAP_MonitorPerNode,*"
         attribute: "Value"