经验证OK
jconsole是jdk自带的工具。所以要先安装jdk
1.jconsole工具的路径:
通过which jconsole来查看
/usr/local/jdk1.7.0_79/bin/jconsole
2.使用方式:
在linux监控端的图形界面执行:
/usr/local/jdk1.7.0_79/bin/jconsole 将出现图形化java监控和管理控制台。


3.执行后出现JConsole新建连接,有两个选择:
1.本地进程(可以监控本机的java)
——》org.apache.catalina.startup.Bootstartup start
2.远程进程(用于监控其他主机的java)
——》填写需要被监控的主机名:监控端口,输入监控专用的用户名/密码(可选)
步骤1:需在被监控的主机上修改catalina.sh配置文件:
vi /opt/tomcat/conf/catalina.sh
如不需密码验证,则在第二行开始添加下面3行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=
12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=
false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=
false"
保存退出
//“12345”为监控端口号

如需密码验证,则改为下面4行:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=
12345"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=
true"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=
false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password"
保存退出

步骤2:将/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template复制一份:
cp /usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password.template \
/usr/local/jdk1.7.0_79/jre/lib/management/jmxremote.password
步骤3:添加用于远程监控的用户名和密码:
vi
jmxremote.password
//用于添加用户名和密码
monitorRole 12345678
//用户名:monitorRole,这个名字系统是预先设置好的
admin 123456
//自定义了用户名:admin
root 123456
//自定义了用户名:root
强制保存退出
vi
jmxremote.access
//自定义监控的用户名具有哪些权限
添加:
admin readonly
//定义只读帐号,名字任意
root readwrite \
//定义读写帐号,名字任意
create javax.management.monitor.*,javax.management.timer.* \
保存退出

chmod 600
jmxremote.password
chown uucp:uucp jmxremote.password
//先用ls -l /usr/local/jdk1.7.0_79看看是属于哪个用户和组,再设置成相同的。

注:如果JConsole不能访问本机的程序的话,添加如下内容:
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
好了,可以连接了:
输入要被监控的主机名cen01,端口:12345,



