JConsole监控远程Tomcat服务器

JConsole监控远程Tomcat服务器

转载自: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,所以如果不知道Linux机器的用户名和密码,也可以不输入,直接连接。

由于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/lib
wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/extras/catalina-jmx-remote.jar

编辑server.xml:

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
....
  <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8081" rmiServerPortPlatform="8082" />

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

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,输入服务器端相关信息:

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

分类:  分布式
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用JAVA jconsole远程连接服务器,需要进行以下步骤: 1. 在服务器上配置JMX端口:在服务器的启动脚本或配置文件中添加`-Dcom.sun.management.jmxremote.port`参数,指定JMX端口号。例如,在WebLogic 12c中,可以修改`$Domain_HOME/bin/setDomainEnv.sh`文件,在其中添加`JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote.port=9000"`。 2. 配置JMX远程连接的身份验证和安全性:根据需要,可以配置JMX远程连接的身份验证和安全选项。例如,在启动脚本或配置文件中添加`-Dcom.sun.management.jmxremote.authenticate=false`和`-Dcom.sun.management.jmxremote.ssl=false`参数来禁用身份验证和SSL加密。 3. 启动服务器:使用适当的命令启动服务器,确保已经包含了上述配置参数。例如,可以使用以下命令启动一个Java应用程序:`nohup java -Djava.rmi.server.hostname=..*.** -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar YourJarFileName.jar`。 4. 打开控制台:在本地计算机上打开命令行窗口,输入`jconsole`命令来启动JConsole工具。 5. 连接远程服务器:在JConsole界面中,按照提示输入服务器的主机名和配置的JMX端口号。如果有身份验证和密码,也需要输入相应的信息。 通过以上步骤,就可以使用JAVA jconsole远程连接到服务器了。请确保服务器上已经正确配置了JMX端口并启动了相应的服务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [jconsole连接远程服务器](https://blog.csdn.net/qq_37388841/article/details/129717777)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux下 通过jconsole远程监控weblogic](https://download.csdn.net/download/weixin_38715094/14051190)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值