ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jconsole 监控上tomcat

2019-07-10 22:51:26  阅读:278  来源: 互联网

标签:management false tomcat sun Dcom jconsole 监控 jmxremote


-------------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的过程中,上述被占用的端口会自动被杀掉。

标签:management,false,tomcat,sun,Dcom,jconsole,监控,jmxremote
来源: https://www.cnblogs.com/wuzm/p/11167122.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有