码迷,mamicode.com
首页 > 其他好文 > 详细

jconsole 监控上tomcat

时间:2019-07-10 23:16:12      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:换行   解决办法   xxxx   文件   dcom   插入   tab   cut   play   

-------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 

 

一、编辑tomcat/bin/catalina.sh

#cd /usr/local/tomcat/tomcat1/bin     自己tomcat/bin的目录下

#vi catalina.sh

在其中“

# ----- Execute The Requested Command -----------------------------------------”

之前插入新的一行(中间没有换行),内容如下:

CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=192.168.1.17 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

这里的红色标识部分:hostname是tomcat所在服务器IP,port是监控端口(这里可自行配置,不和其他进程冲突就行) 

参数解析:

#服务器IP,因为是远程监控,所以需要配置
-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
#远程监控端口
-Dcom.sun.management.jmxremote.port=9999 
#匿名登录,设置false
-Dcom.sun.management.jmxremote.authenticate=false 
#不使用SSL
-Dcom.sun.management.jmxremote.ssl=false 

 

二、编辑jmxremote.access和jmxremote.password

# cd  /usr/java/jdk1.8.0_131/jre/lib/management

# mv jmxremote.password.template jmxremote.password   

# chmod 600 jmxremote.access jmxremote.password  

# vi jmxremote.password   

jmxremote.access 一般保持原始内容不变即可。

对于jmxremote.password,将 其中的:

# monitorRole  QED
# controlRole   R&D

井号注释取消掉。其中monitorRole为只拥有只读权限的角色,controlRole有更高权限:读写等等。

如下图:

技术图片

 

三、最后将端口加入防火墙信任列表

 #vi /etc/sysconfig/iptables  

编辑iptables,加入新一行内容,这里的端口和上面的监控端口一致。

  -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT

如下图光标部分:

 技术图片

四、启动tomcat

# /usr/local/tomcat/tomcat1/bin/startup.sh

而我们在上面配置的jmx代理就会随tomcat一起启动。

可以使用netstat -an | grep 12345命令查看端口是否正常启动。如下图可以看到已经启动。

技术图片

 

五、使用windows客户机上的jconsole连接服务器端 进行监控。

打开C:\Program Files\Java\jdk1.6.0_10\bin\jconsole.exe,输入服务器端相关信息,点击连接就会进入下面界面了。

这里选择远程链接输入:ip:监控端口

用户名+密码 :步骤三里有

# monitorRole  QED    //monitorRole是查看角色,拥有只读权限,XXXXXX是设置的密码。

# controlRole   R&D   //controlRole是控制用户,拥有读写权限,XXXXXX是设置的密码。

这里因为步骤一设置初始化启动参数时:认证参数为false      ---Dcom.sun.management.jmxremote.authenticate=false  

所以可以不填写密码口令。

技术图片

点击连接,进入到监控页面。

技术图片

 

 


 

问题1:连接出现以下界面,而且点击不安全的连接也连不上

原因:我开始使用的是如下参数,里面没有设置启动的服务器ip。

  1. JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" JAVA_OPTS=" -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "   

解决办法:

使用上述第一步的参数设置后,可以连接成功,可能还会出现下面界面,但是点击不安全的连接,就可以连接成功。

技术图片

 

问题2:同样使用的上面这个启动参数,设置的端口为1090。

技术图片

补充:由于配置了上述文件,在停止tomcat的时,会由于上述配置的端口被占用而无法停掉。2种方式解决:
(1)使用killall -9 java 杀掉所有的java进程。
(2)在catalina.sh中配置CATALINA_PID=pid,这样在停止tomcat的过程中,上述被占用的端口会自动被杀掉。

jconsole 监控上tomcat

标签:换行   解决办法   xxxx   文件   dcom   插入   tab   cut   play   

原文地址:https://www.cnblogs.com/wuzm/p/11167122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!