1. 内置工具:JMX(Java Management Extensions)
JMX是Java平台的标准管理API,Tomcat原生支持通过JMX暴露运行指标(如内存使用、线程数、类加载情况)。需先启用JMX:编辑catalina.sh(或setenv.sh),添加-Dcom.sun.management.jmxremote、-Dcom.sun.management.jmxremote.port=9090(端口可自定义)、-Dcom.sun.management.jmxremote.ssl=false、-Dcom.sun.management.jmxremote.authenticate=false(生产环境建议开启认证)。随后可使用JDK自带的JConsole或VisualVM连接localhost:9090,直观查看各项指标。JMX适合快速获取基础性能数据,无需额外安装软件。
2. 第三方开源监控组合:Prometheus + Grafana
这是目前最流行的Tomcat监控方案,适合需要长期存储、可视化及告警的场景。
jmx_prometheus_javaagent jar包,修改Tomcat启动脚本(添加-javaagent参数指向jar包及配置文件),配置文件中定义要采集的指标(如堆内存、线程数)。3. Tomcat自带:Tomcat Manager应用
Tomcat Manager是官方提供的Web管理工具,无需额外安装,适合快速查看Tomcat状态。
conf/tomcat-users.xml,添加manager-gui角色及用户(如<user username="admin" password="admin" roles="manager-gui"/>);http://服务器IP:8080/manager/html,登录后可查看Tomcat运行状态(如服务器信息、连接器状态)、应用部署情况、会话数、线程池状态等。Tomcat Manager适合日常简单监控,功能较为基础。4. 开源应用性能监控:JavaMelody
JavaMelody是一款专注于Java Web应用的监控工具,部署简单,适合需要深入分析应用性能的场景。
webapps目录,启动Tomcat后自动部署;http://服务器IP:8080/javamelody,登录后可查看Tomcat的CPU使用率、内存占用、线程状态、JDBC连接池使用情况、HTTP请求响应时间等。JavaMelody生成的报表详细,适合定位性能瓶颈。5. 企业级综合监控:Zabbix
Zabbix是企业级开源监控解决方案,支持监控Tomcat的运行状态、性能指标及依赖资源(如服务器CPU、内存、磁盘)。
tomcat_status脚本获取运行状态),或结合JMX Exporter采集JMX指标;6. 日志监控方案:ELK Stack(Elasticsearch + Logstash + Kibana)
Tomcat的日志(如catalina.out、access_log)包含大量运行信息(如请求响应时间、错误堆栈),ELK Stack适合收集、存储及可视化日志数据。
NullPointerException)。