博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JConsole监控远程Tomcat服务器
阅读量:6312 次
发布时间:2019-06-22

本文共 2454 字,大约阅读时间需要 8 分钟。

https://blog.linuxeye.com/262.html

 

为了解决内存溢出的问题,会用到一些监视内存的工具,jconsole这个工具在jdk1.7自带了

这个工具可以查看系统的堆,非堆,线程,等等的一些整体的情况,从而可以判断出系统的一个大概的性能情况。
catalina.sh或者新增setenv.sh来设置(下面是新增tomcat/bin/setenv.sh文件方法)

CATALINA_OPTS='-Djava.rmi.server.hostname=192.168.1.110 \-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8081 \-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false'

特别注意:

1. 如果你的linux系统下hostname -i显示为127.0.0.1,则jconsole将连接不上远程服务器
方法一可以修改/etc/hosts文件,将其第一行的”127.0.0.1 localhost.localdomain localhost”,修改为:”192.168.1.110 localhost.localdomain localhost”,其中,”192.168.1.110″为实际的服务器的IP地址。hosename -i输出结果为192.168.1.110,JConsole图形界面才能显示出来,但是用此方法可能会有问题,如sendmail;
推荐使用方法二,在JAVA_OPTS加上’-Djava.rmi.server.hostname=192.168.1.110′

2. -Dcom.sun.management.jmxremote.port=8081,这个端点是jconsole专用的,不要和你的系统的端口冲突。再启动你的应用。

3. 看了网上很多文章都是在catalina.sh文件中加JAVA_OPTS,这样是有问题的,关闭tomcat会报该端口已经被占用,因为关闭tomcat时候,还会读取catalina.sh,所有最好在startup.sh文件中添加JAVA_OPTS那一段。

4. 最后双击本机jdk1.6/bin/jconsole.exe,启动Jconsole监控界面,在远程连接处输入:192.168.1.110:8081,不需要输入用户名和密码,连接即可,-Dcom.sun.management.jmxremote.authenticate=false,设置成了false,所以如果不知道机器的用户名和密码,也可以不输入,直接连接。

由于tomcat jmx监听端口是随机分配的,所以这种方式必须关闭iptables。下面来看看怎么指定端口分配并加上密码验证:

cd /usr/local/tomcat/conf cp /usr/java/jdk1.7.0_71/jre/lib/management/jmxremote.access ./ cp /usr/java/jdk1.7.0_71/jre/lib/management/jmxremote.password.template ./jmxremote.password chmod 600 jmxremote.access jmxremote.password

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

对于jmxremote.password,将其中的:

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

新增tomcat/bin/setenv.sh

CATALINA_OPTS="  -Djava.rmi.server.hostname=192.168.1.110  -Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password  -Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access  -Dcom.sun.management.jmxremote.ssl=false"

下载catalina-jmx-remote.jar,放到tomcat/lib目录下

cd tomcat/libwget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/extras/catalina-jmx-remote.jar

编辑server.xml:

....

最后将固定的端口加入防火墙信任列表

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8082 -j ACCEPT

重启tomcat

可以使用netstat -an | grep -E ‘8081|8082’命令查看端口是否正常启动。

打开windows java安装路径Java\jdk1.7.0_71\bin、jconsole.exe,输入服务器端相关信息:

点击”连接”,进入监控页面:

转载于:https://www.cnblogs.com/fx2008/p/5056451.html

你可能感兴趣的文章
数据结构例程—— 交换排序之快速排序
查看>>
WKWebView代理方法解析
查看>>
IOS定位服务的应用
查看>>
[SMS&WAP]实例讲解制作OTA短信来自动配置手机WAP书签[附源码]
查看>>
IOS中图片(UIImage)拉伸技巧
查看>>
【工具】系统性能查看工具 dstat
查看>>
基于zepto或jquery的手机端弹出框成功,失败,加载特效
查看>>
php引用(&)
查看>>
Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
查看>>
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>
python数据分析画图体验
查看>>
军规15 确保集成和调用第三方APP
查看>>
Etcd和ZooKeeper,究竟谁在watch的功能表现更好?
查看>>
Shredding Company 碎纸机,dfs()枚举每一种情况,再加剪枝。
查看>>
命名空间和模块化编程 - C++快速入门39
查看>>
结构化程序设计03 - 零基础入门学习Delphi12
查看>>
今天才知道怎么插入代码!!!!!!!!!
查看>>
D2007在64位Win7出现 delphi 2007 assertion failure thread32.cpp 的解决办法
查看>>
STM32的TAMPER-RTC管脚作为Tamper的使用[转]
查看>>