温馨提示×

CentOS下Tomcat性能监控工具有哪些

小樊
59
2025-12-19 13:06:40
栏目: 智能运维

CentOS下常用的Tomcat性能监控工具与方案

一 内置与轻量工具

  • 系统与服务状态
    • 使用ps、systemctl快速查看进程与服务状态,例如:ps -ef | grep tomcat;systemctl status tomcat。适合日常巡检与故障初判。
  • Tomcat Manager 与 JMX Proxy
    • 通过内置的Manager应用或JMX Proxy查看JMX指标,示例:http://localhost:8080/manager/jmxproxy/?qry=(需配置相应权限与访问控制)。
  • 日志与实时排查
    • 实时查看catalina.out与各类日志:tail -f /path/to/tomcat/logs/catalina.out,用于异常堆栈与访问日志的快速定位。
  • 进程守护与自恢复
    • 使用Shell脚本Supervisor对Tomcat进程进行保活与自动拉起,降低宕机无感知风险。

二 企业级监控与可视化

  • Prometheus + JMX Exporter + Grafana
    • JMX Exporter采集Tomcat/JVM指标(如请求总数、线程池、会话等),由Prometheus抓取并存储,配合Grafana做可视化与告警。部署要点:将jmx_prometheus_javaagent.jar以-javaagent方式注入Tomcat(JAVA_OPTS),暴露/metrics或自定义端口,Prometheus配置scrape job指向该端口,Grafana导入Tomcat/JVM仪表盘。
  • Zabbix 监控 Tomcat
    • 通过Zabbix Java GatewayJMX对接Tomcat,服务端/代理端安装zabbix-java-gateway,配置server与gateway通信,Tomcat端开启JMX(可选catalina.sh添加JAVA_OPTS),在Zabbix中创建JMX监控项与触发器实现告警。

三 应用性能剖析与深度诊断

  • PSI Probe(LambdaProbe分支)
    • probe.war部署到Tomcat webapps,访问**/probe即可查看应用与容器的请求统计、线程、JVM内存、日志、会话、数据源**等,适合在线巡检与问题定位。
  • JProfiler
    • 商业级Java Profiler,支持对运行中的Tomcat进行CPU热点、内存分配、线程与阻塞、数据库调用等深度剖析,适合性能瓶颈与内存泄漏的精确定位。

四 选型建议与关键指标

  • 选型建议
    • 需要可视化与长期容量规划:优先 Prometheus + JMX Exporter + Grafana。
    • 已有Zabbix体系:用 Zabbix Java Gateway 做JMX监控,统一告警与CMDB。
    • 需要在线诊断与临时排障:用 PSI Probe;需要方法级热点与内存泄漏分析:用 JProfiler。
    • 需要保活与自动恢复:结合 Shell/Supervisor 与系统监控。
  • 建议重点关注的指标
    • 容器与线程:当前线程数、繁忙线程数、连接数、请求处理时间/吞吐(GlobalRequestProcessor、ThreadPool)。
    • JVM:堆内存与非堆内存使用、GC次数/耗时、类加载、线程数(Memory、GarbageCollector)。
    • 会话与应用:活跃/过期/拒绝会话数、Servlet请求计数与错误数(Manager、Servlet)。
    • 系统与网络:CPU、内存、磁盘IO、网络带宽与TCP连接(top/vmstat/free/iostat/netstat/ss/dstat/iftop)。

0