Fork me on GitHub

用JMX远程监控Tomcat

本文使用的tomcat版本为7.0.77。

要通过JMX远程监控Tomcat,首先需要进行Tomcat的JMX远程配置。

注意:此配置添加在catalina.bat文件开头的注释行(rem或#)后面即可。

 

不需鉴权的配置:

先修改Tomcat的启动脚本,windows下为bin/catalina.bat(linux下为catalina.sh),添加以下内容:

set JMX_REMOTE_CONFIG=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  
set CATALINA_OPTS=%CATALINA_OPTS% %JMX_REMOTE_CONFIG% 

 

linux为
JAVA_OPTS=-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8999,是jmxremote使用的端口号,可修改。
-Dcom.sun.management.jmxremote.authenticate=false,表示不需要鉴权,主机+端口号即可监控。

需要鉴权的配置:

set JMX_REMOTE_CONFIG=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access  
set CATALINA_OPTS=%CATALINA_OPTS% %JMX_REMOTE_CONFIG%

复制并修改授权文件

JAVA_HOME/jre/lib/management下有jmxremote.access和jmxremote.password.template的模板文件,将两个文件复制到CATALINA_BASE/conf目录下
*重命名jmxremote.password.template文件为jmxremote.password

*修改CATALINA_BASE/conf/jmxremote.access 添加内容:
     monitorRole readonly
     controlRole readwrite
*修改CATALINA_BASE/conf/jmxremote.password 添加内容:
    monitorRole  liuke  #可自定义
    controlRole   liuke  #可自定义

使用jconsole或jvisualvm测试JMX

运行JAVA_HOME/bin目录下的jconsole或jvisualvm,打开控制台,然后建立连接,填写地址、端口号、用户名、口令即可连接。

 

posted @   流柯  阅读(24772)  评论(3编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· 赶AI大潮:在VSCode中使用DeepSeek及近百种模型的极简方法
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
访客: 浏览:
点击右上角即可分享
微信分享提示