最近遇到个Jboss的性能问题,为了排查问题方便,决定开启JMX,使用jconsole进行实时监控来分析性能。配置步骤如下:
专注于为中小企业提供成都网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业信宜免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
详情见:https://docs.jboss.org/author/display/WFLY8/JMX+subsystem+configuration
1、配置服务端:
a、分析WildFly的工具Jconsole,位置:${JBOSS_HOME}/bin/jconsole.sh;
该脚本实际是调用JDK自身jconsole.jar、tools.jar和WildFly自身jboss-cli-client.jar,详情见脚本jconsole.sh
b、打开${JBOSS_HOME}/modules/system/layers/base/org/wildfly/extension/io/main/module.xml,添加如下红色标记三行
c、打开${JBOSS_HOME}/domain/configuration/domain.xml文件,修改每个profile的如下jmx标签,添加红色部分
a、 使用${JBOSS_HOME}/bin/add-user.sh添加Application User,此处必须为Application User
b、把创建的用户在jboss管理控制台中赋权,打开http://10.19.xx.xx:9990控制台
c、上述三步执行完成后,重启WildFly服务器,然后执行${JBOSS_HOME}/bin/jconsole.sh
a、本机安装jdk,将jboss-client.jar下载下来(jboss的bin目录下有)
b、运行jconsole,执行命令:jconsole -J-Djava.class.path="C:\Program Files (x86)\Java\jdk1.7.0_10\bin\jboss-client.jar;C:\Program Files (x86)\Java\jdk1.7.0_10\lib\jconsole.jar;C:\Program Files (x86)\Java\jdk1.7.0_10\lib\tools.jar"
输入远程调用service,例如:service:jmx:http-remoting-jmx://10.19.xx.xx:8080,填写之前创建的用户名和密码即可
说明:端口即为server的http服务端口,比如该host上创建了两个server,server1端口为8080,server2端口为8180
如果输入service:jmx:http-remoting-jmx://10.19.xx.xx:8080,即为监控server1
如果输入service:jmx:http-remoting-jmx://10.19.xx.xx:8180,即为监控server2
如果输入service:jmx:http-remoting-jmx://10.19.xx.xx:9990,即为监控domain controller的JVM进程(此时必须填写超级管理用户和密 码)
c、运行jvisualvm,执行命令:jvisualvm -cp:a "C:\Program Files (x86)\Java\jdk1.7.0_10\bin\jboss-client.jar"
配置和jconsole一致