Java--JDK自带JVM性能调优工具jconsole远程监控tomcat进程_java监控jvm命令端口12345

已配置好JDK,可以跳过该步骤~
查看JDK版本:java -version
在这里插入图片描述
如果没有安装JDK,则需要先下载并安装好JDK
修改/etc/profile配置并添加如下内容(需修改JDK实际路径):

export JAVA\_HOME=/usr/java/jdk1.8.0_202
export PATH=$JAVA\_HOME/bin:$PATH
export CLASSPATH=.:$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar

刷新配置生效:source /etc/profile
再次查看JDK:java -version

3.2 配置Tomcat

3.2.1 安装Tomcat

已配置Tomcat的可以跳过该步骤
没有安装Tomcat的,可以先到官方下载,再进行解压安装
https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.24/bin/
在这里插入图片描述

我这里Tomcat解压并安装的示例路径如下:

mkdir -p /usr/tomcat/
cd /usr/tomcat/
tar -xvf apache-tomcat-8.0.24.tar.gz
cd /usr/tomcat/apache-tomcat-8.0.24

启动Tomcat

cd /usr/tomcat/apache-tomcat-8.0.24/bin
./startup.sh

在这里插入图片描述
查看Tomcat启动日志

tail -f /usr/tomcat/apache-tomcat-8.0.24/logs/catalina.out

查看Tomcat运行状态

ps -ef|grep tomcat
ps -ef|grep java

如果Tomcat正常启动,会出现如下相关进程
在这里插入图片描述

3.2.2 配置Tomcat远程
3.2.2.1 配置Tomcat远程(无密码)

无密码的很简单,直接修改Tomcat的bin目录下的catalina.sh,在关键信息Execute The Requested Command上面添加如下内容:

CATALINA\_OPTS="$CATALINA\_OPTS -Djava.rmi.server.hostname=192.168.xx.x -Dcom.sun.management.jmxremote"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.port=12345"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.rmi.port=12345"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.ssl=false"

注意修改***hostname为自己服务器的公网IP,还有***jmxremote.rmi.port这行不能少,少了会无法远程连接,网上很多这里都没配置。
在这里插入图片描述
网上有些地方发现catalina.sh中配置CATALINA_OPTS 不生效,于是想通过JAVA_OPTS,如修改上面catalina.sh中为JAVA_OPTS:

JAVA\_OPTS="$JAVA\_OPTS -Djava.rmi.server.hostname=192.168.xx.x -Dcom.sun.management.jmxremote"
JAVA\_OPTS="$JAVA\_OPTS -Dcom.sun.management.jmxremote.port=12345"
JAVA\_OPTS="$JAVA\_OPTS -Dcom.sun.management.jmxremote.rmi.port=12345"
JAVA\_OPTS="$JAVA\_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA\_OPTS="$JAVA\_OPTS -Dcom.sun.management.jmxremote.ssl=false"

能正常启动tomcat,但是这种会导致在执行shutdown.sh停止tomcat时报错,原因是JAVA_OPTS是任何命令的运行时选项,因此执行shutdown.sh命令时会报错,提示端口(如12345)被占用,而CATALINA_OPTS则只会在"开始"时的选项,不会影响停止操作。
在这里插入图片描述

重启Tomcat

cd /usr/tomcat/apache-tomcat-8.0.24/bin
./shutdown.sh
./startup.sh
tail -f /usr/tomcat/apache-tomcat-8.0.24/logs/catalina.out


查看Tomcat进程
ps -ef|grep tomcat
看到Tomcat进程有远程hostname和port相关的信息,说明正常配置
在这里插入图片描述
Windows下重新进行远程连接,不用输入密码,直接连接即可
在这里插入图片描述
正常连接,可查看时间范围内的数据,可以对JVM的堆区内存进行监控,还可以监控线程数、类以及CPU使用率
在这里插入图片描述

3.2.2.2 配置Tomcat远程(有密码)

第一步:同样,修改catalina.sh内容

CATALINA\_OPTS="$CATALINA\_OPTS -Djava.rmi.server.hostname=192.168.xx.x -Dcom.sun.management.jmxremote"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.port=12345"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.rmi.port=12345"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.authenticate=true"
CATALINA\_OPTS="$CATALINA\_OPTS -Dcom.sun.management.jmxremote.ssl=false"

与无密码的区别在于,这里***authenticate的值配置为true,表示需要开启密码进行鉴权

第二步:配置远程用户密码

cd /usr/java/jdk1.8.0_202/jre/lib/management/
cp jmxremote.password.template jmxremote.password
chmod 600 jmxremote.password

修改jmxremote.password,快捷键Shift + G定位到最后,添加一个远程连接用户 用户密码,如:

tomcat abc@123456

在这里插入图片描述
也可以放开现有的monitorRole/controlRole两个用户的注解,用来做远程连接也可以
在这里插入图片描述

第三步:配置远程用户权限
同样,当前目录下,修改jmxremote.access,快捷键Shift + G定位到最后,给新加的tomcat用户读写的权限:

tomcat readwrite

保存:wq并退出
在这里插入图片描述
重启Tomcat

cd /usr/tomcat/apache-tomcat-8.0.24/bin
./shutdown.sh
./startup.sh

查看Tomcat

tail -f /usr/tomcat/apache-tomcat-8.0.24/logs/catalina.out
ps -ef|grep tomcat

启动无报错,并且查看tomcat进程也有如下看关键信息***authenticate=true表明配置正常
在这里插入图片描述
Windows下重新进行远程连接,输入用户密码进行连接即可
在这里插入图片描述
正常连接,监听堆区内存、线程数、类以及CPU占用率如下:
在这里插入图片描述

附录:如开启防火墙则需先放开端口

本文使用的示例远程端口是12345,如果服务器已开启防火墙,需要配置防火墙添加该端口,才可以正常远程连接

查看防火墙的状态
systemctl status firewalld.service

在这里插入图片描述

查看所有已添加端口
firewall-cmd --permanent --list-ports

或者,查看已添加的指定端口
firewall-cmd --query-port=12345/tcp

没有,则添加指定端口
firewall-cmd --permanent --add-port=12345/tcp

重启防火墙即可
systemctl restart firewalld.service


❤️‍原创不易,觉得有用的小伙伴点亮⭐收藏,支持一下吧!❤️‍

在这里插入图片描述

给大家的福利

零基础入门

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

同时每个成长路线对应的板块都有配套的视频提供:

在这里插入图片描述

因篇幅有限,仅展示部分资料

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值