在 Debian 上监控 Tomcat 性能
一 系统与服务层快速巡检
二 启用 JMX 获取 JVM 与 Tomcat 指标
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8081 \
-Djava.rmi.server.hostname=你的服务器IP \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="10001"
rmiServerPortPlatform="10002"
useLocalPorts="true" />
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=10001 \
-Djava.rmi.server.hostname=你的服务器IP \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
三 应用与日志层监控
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log"
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b %D "%{User-Agent}i"" />
四 主机与应用全链路监控方案
五 关键指标与告警阈值建议
| 维度 | 指标 | 建议阈值 | 说明 |
|---|---|---|---|
| 服务器 | CPU 使用率 | 警戒 80%,紧急 90% | 持续高占用需排查热点与 GC |
| 服务器 | 内存使用率 | 警戒 85%,紧急 90% | 关注换页与 OOM |
| 服务器 | 磁盘 I/O 延迟 | 警戒 <20ms | 高延迟影响日志与数据库 |
| Tomcat 线程 | 当前活跃线程数 | 警戒 maxThreads 的 75%,紧急 90% | 接近上限需扩容或优化 |
| Tomcat 线程 | 等待队列大小 | 警戒 50,紧急 100 | 队列堆积说明后端处理慢 |
| 请求 | 平均响应时间 | 警戒 500ms,紧急 1000ms | 结合业务 SLA 调整 |
| 请求 | 错误率 | 警戒 1%,紧急 5% | 5xx/4xx 突增需定位 |
| JVM | 堆/非堆使用率 | 警戒 80/85%,紧急 90/95% | 配合 GC 时间与次数 |
| JVM | GC 暂停时间 | 警戒 200ms,紧急 500ms | 长暂停影响吞吐与延迟 |