Tomcat之JMX远程调动(Tomcat远程监控)
JMX(Java Management Extensions,即Java管理扩展)
今天讲一下我们借助JMX来实现远程监控Tomcat
- 准备环境(两台拥有图形界面的虚拟机)
- 安装Tomcat
- 搭建Tomcat远程监控(JMX)
平时:不喜欢JAVA? 平时:不看好JAVA?
来吧宝宝们 带你们先准备一下JAVA的环境
用到的包 自己从官网下载也可以
tar -zxf jdk-8u201-linux-x64.tar.gz
mv jdk1.8.0_201/ /usr/local/java
echo '
export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
' >> /etc/profile
rm -rf /usr/bin/java #先删除你原来的JAVA
Source /etc/profile # 重新读取一下命令配置
java -version
这里查看到的JAVA版本是你自己安装设置的版本 我们安装的是201 所以显示
java version "1.8.0_201"是正确的
安装Tomcat <<< 此处一定要完成上面的JAVA配置环境并且成功获取JAVA变量才可以。
tar -zxf apache-tomcat-9.0.24.tar.gz
mv apache-tomcat-9.0.24 /usr/local/tomcat
/usr/local/tomcat/bin/startup.sh 启动tomcat
/usr/local/tomcat/bin/shutdown.sh 关闭tomcat
搭建JMX远程
vim /usr/local/tomcat/bin/catalina.sh
# ----- Execute The Requested Command -----------------------------------------
找到上面这条注释语句 在他的上一行写入
CATALINA_OPTS="-Djava.rmi.server.hostname=192.168.114.6
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8080
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true"
等会我给做出解释 写在博客的最后面啦
然后我们修改一下认证用户的密码
cd /usr/local/java/jre/lib/management/
cp jmxremote.password.template jmxremote.password 复制一个密码文件
vim jmxremote.password
# monitorRole QED # 取消注释 QED是认证用户
# controlRole R&D # 取消注释 R&D 是密码
修改一下就好
monitorRole 123456 # monitorRole是用户名 123456是密码
controlRole 123456
这个时候会告诉你修改一个只读文件 你可以给权限 也可以强制保存退出
chmod 600 jmxremote.* # 为了不让别人看见哈哈哈
firewall-cmd --add-port=8080/tcp 放行防火墙规则或者关掉防火墙
启动服务
/usr/local/tomcat/bin/startup.sh
解释一下这两个用户
monitorRole为只拥有只读权限的角色
controlRole有更高权限:读写等。
---------------------重点--------------------
接下来的操作全部在虚拟机的图形界面
在另一台虚拟机输入
jconsole
Remote Process:连接IP+端口
Username:monitorRole
Password:123456
接着点击 Insecure connection(不安全连接)
成功进入了页面 OK