服务器地址:10.64.111.68java
首先配置JMX:linux
1.找到jdk目录apache
[root@C68 demo]# echo $JAVA_HOMEbootstrap
/root/demo/jdk1.8.0_60windows
2. cd 到/root/demo下的tomcat的bin目录下tomcat
[root@C68 bin]# vi catalina.sh服务器
添加以下参数:工具
JAVA_OPTS='-Dcom.sun.management.jmxremote.port=9988 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.64.111.67'spa
如图:.net
其中,
-Dcom.sun.management.jmxremote.port=9988
上面指定了 JMX 启动的代理端口;这个端口就是 windows中的JVM工具要链接的端口
-Dcom.sun.management.jmxremote.ssl ="false"
上面指定了 JMX 是否启用ssl
-Dcom.sun.management.jmxremote.authenticate =false
上面指定了 JMX 是否启用鉴权(须要用户名,密码鉴权),启用的话,windows负载机JVM工具中就要进行设置,我这里不用鉴权
-Djava.rmi.server.hostname=10.64.111.67'
上面指定了主机名,ip是linux服务器的
3.重启tomcat
在tomcat的bin目录下,
[root@C68 bin]# ./shutdown.sh
Using CATALINA_BASE: /root/demo/apache-tomcat-8.0.33
Using CATALINA_HOME: /root/demo/apache-tomcat-8.0.33
Using CATALINA_TMPDIR: /root/demo/apache-tomcat-8.0.33/temp
Using JRE_HOME: /root/demo/jdk1.8.0_60
Using CLASSPATH: /root/demo/apache-tomcat-8.0.33/bin/bootstrap.jar:/root/demo/apache-tomcat-8.0.33/bin/tomcat-juli.jar
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: C68: C68: unknown error
[root@C68 etc]# hostname -i
hostname: Host name lookup failure
遇到了这个找不到主机名的问题,
解决办法:
首先看一下主机名是什么
cat /etc/sysconfig/network
该文件中内容以下,若是没有的话,就本身vi写出来,而后重启机器。
我这里直接本身已经有了,可是我对这个hostname是有疑问的,由于并无见过这个主机名,个人是C68,不知道这个主机名从哪里出来的,可是我也没管。
NETWORKING=yes
HOSTNAME=SSCVL0263
而后在hosts文件中,将主机名和ip在hosts文件中映射出来,以下,我仍是写的C68,按理说应该写上边的那个SSCVL0263,奇怪的是我写C68也解决了问题,就这样吧:
再次重启tomcat
在tomcat的bin目录下,
.shutdown.sh
.startup.sh
1.在Java-jdk-bin中双击JVisualVM,选中左边的Remote节点,右键点击Add Remote Host弹出对话框, 填写远程的Tomcat的主机IP,点击OK
2.选中远程Tomcat主机IP这个节点,右键弹出菜单选择“Add JMX Connetcion..”,在弹出的对话框的填写要链接的Tomcat所在的主机端口,端口是在catalina.sh设置的端口9988,点击OK。
遇到的问题是:Cannot connect to ,using service:jmx:rmi:///jndi/rmi:// /jmxrmi
解决方案,就是由于上面的找不到主机名的问题,上面已经成功的解决。
3.在左侧树节点添加了JMX节点,双击这个节点或者右键弹出菜单,点击“Open”,能够远程监控Tomcat的使用状况了。