java - 如何将健康中心连接到 AIX 上的 IBM J9 7

标签 java jvm aix health-monitoring

我想要连接到在 AIX 上运行的 Java J9 JVM 版本 7。 Java 应用程序配置为启用健康中心代理,系统报告 JMX 端口已打开。 但是当我启动健康中心客户端(我通过更新站点安装到我的Eclipse实例上),在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 ...

关于健康中心代理的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>

但是,健康中心客户端在该端口上找不到 JVM

最佳答案

与该 JVM 一起打包的 Health Center 代理相当老旧(近 3 1/2 岁)。您可以按照 https://www.ibm.com/support/knowledgecenter/SS3KLZ/com.ibm.java.diagnostics.healthcenter.doc/topics/installingagent.html 上的说明进行操作吗?将代理升级到最新版本,看看问题是否仍然出现?

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

相关文章:

linux - getopt 不能像在 Linux 中那样在 AIX 上运行

java - 在不同监听器之间切换

java - 在Java中使用Gson将 'null'开头的String[Youtube v3 api response]转换为JsonObject

java - JCS 缓存在不重启 tomcat 的情况下无法获取更新值

Java:减少堆栈大小会加速频繁的方法调用吗?

.net - DotNET上是否有等效的JVisualVM?

java - 如何使用 Spring Boot 和嵌入式 Tomcat 配置此属性?

java - 如何对还包含对象列表的对象列表执行 DFS

linux - 在unix中运行expect时出错

c++ - AIX 5.3 上的 mlockall