相关疑难解决方法(0)

远程JMX连接

我正在尝试打开与远程计算机上运行的Java应用程序的JMX连接.

应用程序JVM配置有以下选项:

  • com.sun.management.jmxremote
  • com.sun.management.jmxremote.port = 1088
  • com.sun.management.jmxremote.authenticate = FALSE
  • com.sun.management.jmxremote.ssl = FALSE

我可以localhost:1088使用jconsole或jvisualvm 进行连接.但是我无法使用xxx.xxx.xxx.xxx:1088远程计算机进行连接.

服务器之间或操作系统之间没有防火墙.但是为了消除这种可能性我telnet xxx.xxx.xxx.xxx 1088和我认为它连接起来,因为控制台屏幕变成了空白.

两台服务器都是Windows Server 2008 x64.尝试使用64位JVM和32位,都不起作用.

java jmx jconsole

91
推荐指数
7
解决办法
18万
查看次数

JConsole通过ssh本地端口转发

我希望能够远程连接到暴露了JMX的Java服务,但是它被防火墙阻止了.我曾尝试使用ssh本地端口转发,但连接失败.看看wireshark,看来当你尝试连接jconsole时,它想要在连接到被防火墙阻止的端口9999之后通过一些短暂的端口连接.

有没有办法让jconsole只通过9999连接或使用代理?是这篇文章仍然是最好的解决办法?或者,我错过了什么?

java ssh jmx

59
推荐指数
4
解决办法
5万
查看次数

远程jvisualvm会话不支持CPU和分析

在监视远程应用程序时(使用jstatd)我既不能分析也不能监视CPU消耗.堆监控(假设我不使用G1)有效.jvisualvm提供消息"此JVM不支持".在CPU图形窗口中.

我的设置中是否有任何遗漏?谷歌的结果很少.

本地环境(Mac OS X 10.6):

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)
Run Code Online (Sandbox Code Playgroud)

远程环境(Linux版本2.6.16.27-0.9-smp(gcc版本4.1.0(SUSE Linux))):

java version "1.6.0_16" Java(TM) SE
Runtime Environment (build
1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

本地监控按宣传方式工作.

java jmx jvisualvm

12
推荐指数
1
解决办法
2万
查看次数

启用JMX的Java应用程序似乎在JMX客户端连接时打开随机高位端口

启用JMX的Java应用程序似乎在JMX客户端连接时打开随机高位端口

我已经成功配置了一个启用helloworld JMX的程序,我可以使用jconsole JMX客户端从远程位置连接到它.

当我尝试打开iptables时,我注意到当客户端登录时会建立一个随机的高阶端口.最后,我想监视防火墙隔离网段中的Java应用程序.我们可以控制随机端口打开的范围吗?

如果建议,我会将此问题移至serverfault.com.

java random port firewall jmx

9
推荐指数
2
解决办法
8607
查看次数

Spring:无法从防火墙后面使用RMI连接到JMX Server

我的Spring应用程序运行在NAT防火墙(pfSense)后面的机器上.机器的内部IP是a.b.c.d,NAT IP是w.x.y.z

Spring配置的serviceUrl设置为a.b.c.d端口上的内部IP()1100,当我启动应用程序时,我提供以下开关:

 -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=w.x.y.z -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

如上所示,我进行了设置-Djava.rmi.server.hostname=w.x.y.z,以便可以通过NAT连接到应用程序.我还打开了机器防火墙上的相关端口,并设置了一个从w.x.y.z:1100前往的端口a.b.c.d:1100

当我尝试使用jconsole从网络外部连接到应用程序时w.x.y.z:1100,我得到了一个java.io.IOException: jmxrmi

 java.io.IOException: jmxrmi
at sun.tools.jconsole.ProxyClient.checkSslConfig(ProxyClient.java:236)
at sun.tools.jconsole.ProxyClient.<init>(ProxyClient.java:127)
at sun.tools.jconsole.ProxyClient.getProxyClient(ProxyClient.java:483)
at sun.tools.jconsole.JConsole$3.run(JConsole.java:524)
 Caused by: java.rmi.NotBoundException: jmxrmi
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:136)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:378)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) …
Run Code Online (Sandbox Code Playgroud)

java spring firewall jmx nat

4
推荐指数
2
解决办法
7327
查看次数

标签 统计

java ×5

jmx ×5

firewall ×2

jconsole ×1

jvisualvm ×1

nat ×1

port ×1

random ×1

spring ×1

ssh ×1