• Tomcat性能监控


    一、前言

    项目中有时候我们需要监控tomcat的线程池、错误数、吞吐量、响应时间、CPU 以及 JVM 内存等性能,这个时候我们就需要考虑怎么实现tomcat监控。

    二、实现方式

    常见的tomcat监控有两种实现方式:
    1.使用JVX来实现
    2.使用开源的 psi-probe来实现

    三、使用JVX来实现

    1.tomcat安装目录的bin目录下新建 setenv.sh 文件

    touch setenv.sh
    
    • 1

    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"
    
    • 1

    说明:

    • Dcom.sun.management.jmxremote.port=9000 – 可以根据需要修改端口号。
    • Dcom.sun.management.jmxremote.ssl=false - 意味着不使用 SSL 连接
    • Dcom.sun.management.jmxremote.authenticate=false - 当您使用 JMX 客户端连接到 Tomcat 实例时不需要身份验证。

    3.文件增加可执行权限

    chmod 755 setenv.sh
    
    • 1

    4.重启tomcat

    5.验证JMX是否启动

    ps -ef|grep jmx
    
    • 1

    我的输出如下:

    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
    
    • 1
    • 2

    6.使用 Jconsole 连接 Tomcat JMX

    • 进入jdk安装目录下的bin目录,执行命令:
    ./jconsole
    
    • 1
    • 选择本地进程再选择相关的tomcat进程名,然后进行连接
      (如果你想远程连接并且上面配置了Djava.rmi.server.hostname参数则可输入ip地址端口以及服务器用户名密码来连接)
      在这里插入图片描述
      在这里插入图片描述

    四、使用psi-probe来实现

    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
    
    • 1

    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"/>
    
    • 1
    • 2
    • 3
    • 4

    5.重启tomcat

    6.浏览器输入http://你的服务器ip:8080/probe/ 输入第4步设置的用户名和密码tomcat,便可进入监控界面


    参考:
    How to Enable JMX in Tomcat to Monitor & Administer
    Psi Probe 安装及使用说明
    如何监控Tomcat的性能
    tomcat监控工具psi-probe

  • 相关阅读:
    Docker部署Portainer图形化管理工具
    Linux应用开发基础知识——网络通信编程(九)
    虚拟存储器-11.1
    android 静默升级 卸载功能实现
    堡垒机的自动化运维,快速安全提升运维效率
    python 创建虚拟环境
    【汇编语言-王爽】第三章:寄存器(内存访问)
    去注释和宏替换——深入理解预处理
    如何学好机器学习?机器学习一定需要下面这几方面知识!
    React基础-React中发送Ajax请求以及Mock数据
  • 原文地址:https://blog.csdn.net/qq_33697094/article/details/126281099