繁体   English   中英

JConsole与JBoss EAP的远程连接

[英]JConsole remote connection to JBoss EAP

我正在尝试连接到服务器上运行的远程jboss实例。 我使用以下连接URL

服务:JMX:远程-JMX://90.214.64.170:9999

当我这样做时,我在控制台窗口中收到以下2个错误

在此输入图像描述

选择不安全后,我会看到这个

在此输入图像描述

我通过jconsole连接之前也去了我的jboss服务器的bin目录并运行./jconsole.sh ,它将以下内容输出到命令行

CLASSPATH /usr/bin/java/jdk1.8.0_11/lib/jconsole.jar:/usr/bin/java/jdk1.8.0_11/lib/tools.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/remoting-jmx/main/remoting-jmx-1.1.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/remoting3/main/jboss-remoting-3.2.18.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/logging/main/jboss-logging-3.1.2.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/xnio/main/xnio-api-3.0.7.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/xnio/nio/main/xnio-nio-3.0.7.GA-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/sasl/main/jboss-sasl-1.0.3.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/marshalling/main/jboss-marshalling-1.4.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/marshalling/river/main/jboss-marshalling-river-1.4.2.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/cli/main/jboss-as-cli-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/staxmapper/main/staxmapper-1.1.0.Final-redhat-2.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/protocol/main/jboss-as-protocol-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/dmr/main/jboss-dmr-1.2.0.Final-redhat-1.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/as/controller-client/main/jboss-as-controller-client-7.3.0.Final-redhat-14.jar:/var/opt/jboss/modules/system/layers/base/org/jboss/threads/main/jboss-threads-2.1.1.Final-redhat-1.jar

我不知道还有什么我可以尝试(也开了端口9999)让这个工作,有没有人有任何建议或提示,可能有助于解决这个问题?

谢谢

编辑

将我的standalone.conf文件修改为此文件

#
# Specify options to pass to the Java VM.
#
if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms1303m -Xmx1303m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9999"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
else
   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
fi

我仍然无法连接 - 与上面相同的错误

按照下面提到的说明在JBoss中启用远程JMX监视

JBoss 4.2.3.GA

修改JBoss bin目录中可用的run.conf文件并添加以下行 -

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=<PORT>"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"

JBoss 5.1.0.GA

由于JBoss中存在已在JBoss 6.0版本中修复的错误( https://issues.jboss.org/browse/JBAS-6185 ),因此无法在JBoss 5.1中配置JMX端口。

JBoss 6.1.0.Final

修改JBoss bin目录中可用的run.conf文件并添加以下行 -

JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
JAVA_ARGS="$JAVA_OPTS -Dorg.jboss.logging.Logger.pluginClass=org.jboss.logging.logmanager.LoggerPluginImpl"
JBOSS_CLASSPATH="../lib/jboss-logmanager.jar"

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=<PORT>"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=<IP_ADDRESS>"

JBoss 7.1.1.Final

修改JBoss bin目录中可用的standalone.conf文件,并添加以下行 -

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=<PORT>"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=<IP_ADDRESS>"
JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager -Xbootclasspath/p:../modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar  -Xbootclasspath/p:../modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar -Xbootclasspath/p:../modules/org/apache/log4j/main/log4j-1.2.16.jar"
JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=org.jboss.logmanager"

注意:根据您的要求进行修改。

参考:

https://community.jboss.org/wiki/JBossMBeansInJConsole

http://abh1sh3k.blogspot.in/2013/12/jmx-configuration-in-different-versions.html

我找到了答案 - 至少是一个解决方案。

通过新的JBOSS发行说明看了这里的EAP 6.3我发现下面的;

已恢复的ServiceMBean帮助程序类org.jboss.as.system-jmx模块已用于恢复早期版本的JBoss EAP中可用的帮助程序类,可帮助用户创建MBean。

我们所做的是部署一个新的独立实例 - 6.3的干净安装然后遵循本指南;

https://planet.jboss.org/post/jmx_connections_to_jboss_as

我们不需要添加任何可选参数,不需要修改standalone.sh,也不需要修改standalone.xml。

我看到有人因为错误答案而获得了5张选票 - 这是因为奖金被授予了吗?!

好的...这对我来说真的是个问题,对你来说很重要的是要知道如果你在不同的机器上安装JConsole和JBoss ,Java附带的JConsole不行......你必须下载JBoss的副本你有JConsole的机器和bin文件夹查找jconsole.bat文件。

我从这里拿到它: http//www.java-redefined.com/2014/02/jboss-7-with-jconsole.html

我相信对于远程连接,你必须创建一个Application Realm用户(使用add-user.sh。我回答是关于这是否会用于远程服务器连接或EJB远程用户的问题,尽管我不确定是严格必要)。

然后使用这些凭据连接jconsole。

我对此的体验也与在域模式下运行的EAP 6.2.4的远程连接隔离开来。 我只希望与独立服务器的远程连接是一样的。 目前还不清楚你在这里使用的是什么。

我也改了它,所以我可以通过在CLI中发出这个命令来使用端口4447:/ profile = ha / subsystem = jmx / remoting-connector = jmx:add(use-management-endpoint = false)

并且它不适用于您的问题,因为它似乎您正在使用JDK 8,但我相信JDK 7或更高版本是必需的(对于jconsole)。

希望这里有所帮助!

JBoss 6.2.0 EAP

要将JConsole与JBoss 6.2 EAP一起使用,您必须启动它向类路径添加一些JAR。

在目录/jboss-eap-6.2/bin/client有一个README文件,其中包含:

跑JCONSOLE:

jconsole -J-Djava.class.path=<PATH TO jconsole.jar>;<PATH TO tools.jar>;<PATH TO jboss-cli-client.jar>

对于版本6.1,请确保已将正确的portoffset添加到默认端口号,默认为9999,因此远程进程应该使用:

service:jmx:remoting-jmx://90.214.64.170:(offsetnumber+9999)

显然,这在版本6.2中得到了解决

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM