我们正试图使用jconsole从远程机器使用jmx监视jboss:
jboss Version: jboss-eap-6.4
jdk version: 1.7.079
为实现这一目标,我在jboss配置中做了以下更改:
在Domain.sh
中添加了以下参数:
JAVA_OPTS="$JAVA_OPTS - Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=IP.of.machine"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=4847"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
以下内容已在domain.xml
<subsystem xmlns="urn:jboss:domain:jmx:1.3">
<expose-resolved-model/>
<expose-expression-model/>
<remoting-connector use-management-endpoint="false"/>
</subsystem>
Defined an ApplicationRealm user with the help of add-user.sh
在做了这么多之后,我可以使用下面的url通过本地服务器(jboss正在运行)通过jmx监视jboss:
service:jmx:remoting-jmx://ip.of.machine:4847
但是,当我尝试从远程计算机提供相同的URL时,我会遇到异常。
`与xxxxx的连接没有成功'。
我需要帮助,知道我做错了什么。这样我就可以远程使用JMX控制台监视jboss。
更新 源和目的地之间没有防火墙。
答案 0 :(得分:0)
您是否在远程计算机上安装了JBOSS? JBOSS指出&#34;如果你在不同于服务器的机器上运行jconsole,你需要安装本地JBoss:Java JRE的jconsole不能开箱即用(即没有额外的罐子) classpath)。此外,如果您在远程计算机上且目标计算机不在DNS中,则必须将其添加到主机文件中。&#34;
如果你不想走这条路,那么我可以做一些研究,找出需要包含在JDK jconsole中的适当的罐子。