最近遇到个Jboss的性能问题,为了排查问题方便,决定开启JMX,使用jconsole进行实时监控来分析性能。配置步骤如下:
详情见:https://docs.jboss.org/author/display/WFLY8/JMX +子系统+配置
<强> 1,配置服务端:强>
,,一个,分析WildFly的工具Jconsole,位置:$ {JBOSS_HOME}/bin/jconsole.sh;
,,,,,该脚本实际是调用JDK自身jconsole.jar, tools.jar和WildFly自身jboss-cli-client.jar,详情见脚本jconsole.sh
,,,,,,
,,,b,打开$ {JBOSS_HOME}/模块/系统/层/基地/org/wildfly/extension/io/main/module.xml,添加如下红色标记三行
,,,,,& lt; dependencies>
,,,,,,,,& lt;模块名称=" sun.jdk "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.staxmapper "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.as.controller "/祝辞
,,,,,,,,& lt;模块名称=" org.wildfly.security.manager "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.as.server "/祝辞
,,,,,,,& lt;模块名称=" org.jboss.as。安全”可?" true "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.msc "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.logging "/祝辞
,,,,,,,,& lt;模块名称=" org.jboss.xnio "/祝辞
,,,,,,,& lt;模块名称=" org.jboss.xnio。nio”服务="进口"/祝辞
,,,,,,,& lt;模块名称=" org。picketbox”可?" true "/祝辞
,,,,,& lt;/dependencies>,,
,,,c,打开$ {JBOSS_HOME}/域/配置/domain.xml文件,修改每个剖面的如jmx标下签,添加红色部分
,,,,,& lt;子系统xmlns=" urn: jboss:域:jmx: 1.3”在
,,,,,,,,& lt; expose-resolved-model/祝辞
,,,,,,,,& lt; expose-expression-model/祝辞
,,,,,,,,
& lt;/subsystem>
,,,注以上两步已在8.1.0版本中修复,无需修改! ! !
<强> 2,添加监控用户:强>
<强>,,,强>,使用$ {JBOSS_HOME}/bin/添加用户。上海添加应用程序用户,此处必须为应用程序用户
,,,,,,
,,,b,把创建的用户在jboss管理控制台中赋权,打开http://10.19.xx.xx: 9990控制台
,,,,,,
,,,c,上述三步执行完成后,重启WildFly服务器,然后执行$ {JBOSS_HOME}/bin/jconsole.sh
<强> 3,使用远程的jconsole或者强> jvisualvm监控<强>:强>
<强>,,,>强,本机安装jdk,将jboss-client.jar下载下来(jboss的本目录下有)
,,,,,
,,,b,运行jconsole,执行命令:jconsole -J-Djava.class。路径=" C: \ Program Files \ Java \ jdk1.7.0_10 \ bin \ (x86) jboss-client.jar; C: \程序文件(x86) \ Java \ jdk1.7.0_10 \ lib \ jconsole.jar; C: \程序文件(x86) \ Java \ jdk1.7.0_10 \ lib \ tools.jar "
,,,,输才能入远程调用服务,例如:服务:jmx: http-remoting-jmx://10.19.xx.xx: 8080年,填写之前创建的用户名和密码即可
,,,,,,
,,,,说才能明:端口即为服务器的http服务端口,比如该主机上创建了两个服务器server1端口为8080年,server2端口为8180
,,,,,,,,如果输入服务:jmx: http-remoting-jmx://10.19.xx.xx: 8080年,即为监控server1
,,,,,,,,如果输入服务:jmx: http-remoting-jmx://10.19.xx.xx: 8180年,即为监控server2
,,,,,,,,如果输入服务:jmx: http-remoting-jmx://10.19.xx。xx: 9990,即为监控域控制器的JVM进程(此时必须填写超级管理用户和密,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,null