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.sh1) 开启JVM远程监控
-Dcom.sun.management.jmxremote=true
2) 监控的IP地址
-Djava.rmi.server.hostname=192.168.91.166,远程进程所在主机的IP。
3) 监控的端口
-Dcom.sun.management.jmxremote.port=50013,这个端口值可以任意设置,但在之后用Jconsole连接这个远程进程的时候,远程进程中的port一定要和此处的设置一致,并且一定不要和远程进程的服务端口区分开。
4) 是否禁用ssl验证
-Dcom.sun.management.jmxremote.ssl,false为禁用,true为启用。
5) 是否需要用户密码验证
-Dcom.sun.management.jmxremote.authenticate,false为不需要验证,true为需要验证。但我在Win7(32位、64位)中tomcat5.5.23下试着将该选项设置为true,tomcat无法启动,命令行窗口一闪而过。如不需密码验证,则在第二行开始添加下面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 //自定义了用户名:adminroot 123456 //自定义了用户名:root强制保存退出 vi jmxremote.access //自定义监控的用户名具有哪些权限添加:admin readonly //定义只读帐号,名字任意root readwrite \ //定义读写帐号,名字任意create javax.management.monitor.*,javax.management.timer.* \保存退出 chmod 600 jmxremote.passwordchown uucp:uucp jmxremote.password //先用ls -l /usr/local/jdk1.7.0_79看看是属于哪个用户和组,再设置成相同的。 注:如果JConsole不能访问本机的程序的话,添加如下内容:JAVA_OPTS=”$JAVA_OPTS -Dcom.sun.management.jmxremote” 好了,可以连接了:输入要被监控的主机名cen01,端口:12345,