项目中有时候我们需要监控tomcat的线程池、错误数、吞吐量、响应时间、CPU 以及 JVM 内存等性能,这个时候我们就需要考虑怎么实现tomcat监控。
常见的tomcat监控有两种实现方式:
1.使用JVX来实现
2.使用开源的 psi-probe来实现
1.tomcat安装目录的bin目录下新建 setenv.sh 文件
touch setenv.sh
2.使用 vi 编辑器修改文件并添加以下内容然后保存
(如果你想实现远程连接则还需要加入: -Djava.rmi.server.hostname=服务器ip地址)
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
说明:
3.文件增加可执行权限
chmod 755 setenv.sh
4.重启tomcat
5.验证JMX是否启动
ps -ef|grep jmx
我的输出如下:
root 9372 1 0 21:30 pts/0 00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root 9816 9781 0 21:46 pts/0 00:00:00 grep --color=auto jmx
6.使用 Jconsole 连接 Tomcat JMX
./jconsole
psi-probe项目地址
psi-probe安装包下载
1.服务器tomcat的webapps目录下新建probe文件夹,把psi-probe安装包放入probe文件夹下
2.使用 unzip probe.war 命令把压缩包解压,然后删除probe.war安装包
3.进入tomcat的bin目录下,修改catalina.sh文件,加上:
SET JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote
4.进入tomcat的conf目录下,修改tomcat-users.xml文件,加上:
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager,tomcat,manager-gui"/>
5.重启tomcat
6.浏览器输入http://你的服务器ip:8080/probe/ 输入第4步设置的用户名和密码tomcat,便可进入监控界面
参考:
How to Enable JMX in Tomcat to Monitor & Administer
Psi Probe 安装及使用说明
如何监控Tomcat的性能
tomcat监控工具psi-probe