我想连接到在AIX上运行的Java J9 JVM版本7。
将Java应用程序配置为启用运行状况中心代理,并且系统报告JMX端口已打开。
但是,当我启动通过更新站点安装到Eclipse实例的Health Center客户端时,在JMX连接向导中输入主机名和端口号,它将开始从我指定的端口进行扫描,直到portnr + 100,然后然后它说他找不到JVM。

我想念什么吗?

AIX上的Java版本

java version "1.7.0"
Java(TM) SE Runtime Environment (build pap6470_27-20131115_04)
IBM J9 VM (build 2.7, JRE 1.7.0 AIX ppc64-64 Compressed References 20131114_175264 (JIT enabled, AOT enabled)
J9VM - R27_Java727_GA_20131114_0833_B175264
JIT  - tr.r13.java_20131113_50523
GC   - R27_Java727_GA_20131114_0833_B175264_CMPRSS
J9CL - 20131114_175264)
JCL - 20131113_01 based on Oracle 7u45-b18de here


用于启动Java应用程序的命令行

java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter ...


有关Health Center代理的JVM日志

Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean <init>
INFO: Agent version "2.2.0.20131003"
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startMBeanServer
INFO: IIOP will be listening on the next available system assigned port. Use com.ibm.java.diagnostics.healthcenter.agent.iiop.port to specify a port
Mar 18, 2016 6:15:09 PM com.ibm.java.diagnostics.healthcenter.agent.mbean.HCLaunchMBean startAgent
INFO: Health Center agent started on port 1972.


代理端口在服务器计算机上打开

(1) machine:user1:/home/user1> lsof -nP | grep LISTEN | grep 1972
java      30474378 user1   77u  IPv6 0xf1000e000a345bb8                0t0         TCP *:1972 (LISTEN)

(1) machine:user1:/home/user1> ps ax | grep 30474378
 24707098  pts/3 A     0:00 grep 30474378
 30474378      - A     0:13 /usr/bin/java -Xmn100m -Xms400m -Xmx400m -Xhealthcenter -

(1) machine:user1:/home/user1>


从客户端计算机打开的端口:

Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-18 18:19 BRT
Nmap scan report for machine (172.1.1.10)
Host is up (0.024s latency).
Not shown: 973 closed ports
PORT      STATE SERVICE
...
1972/tcp  open  intersys-cache
...

Nmap done: 1 IP address (1 host up) scanned in 4.24 seconds


编辑:我意识到AIX机器上打开的端口在IPv6上侦听。我添加了-Djava.net.preferIPv4Stack=true属性,然后该代理开始侦听IPv4端口:

(1) machine:user1:/home/user1/log> lsof -nP | grep LISTEN | grep IPv4 | grep 1972
java      57016438 user1   77u  IPv4 0xf1000e0004dbd3b8                0t0         TCP *:1972 (LISTEN)

(1) machine:user1:/home/user1/log>


但是,但是,Health Center客户端在该端口上找不到JVM。

最佳答案

该JVM附带的Health Center代理已经很旧了(将近3 1/2年)。您是否可以按照https://www.ibm.com/support/knowledgecenter/SS3KLZ/com.ibm.java.diagnostics.healthcenter.doc/topics/installingagent.html上的说明将代理升级到最新版本,然后查看问题是否仍然出现?

关于java - 如何将Health Center连接到AIX上的IBM J9 7,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36095809/

10-15 21:01