怎样监控Ubuntu上的Tomcat运行状态
导读:Ubuntu 上监控 Tomcat 运行状态的实用方案 一 命令行快速检查 服务状态:使用 systemctl 或 service 查看 Tomcat 单元是否 active(运行)。示例:sudo systemctl status to...
Ubuntu 上监控 Tomcat 运行状态的实用方案
一 命令行快速检查
- 服务状态:使用 systemctl 或 service 查看 Tomcat 单元是否 active(运行)。示例:
sudo systemctl status tomcat或sudo service tomcat status。 - 进程存活:用 ps 检索 Java/Tomcat 进程。示例:
ps -ef | grep tomcat。 - 端口监听:确认 8080(默认)是否在监听。示例:
netstat -tuln | grep 8080。 - 实时日志:跟踪 catalina.out 观察启动、报错与请求轨迹。示例:
tail -f /path/to/tomcat/logs/catalina.out。 - 管理页面:在浏览器访问 http://服务器IP:8080/manager/html 查看应用与服务器状态(需提前配置管理账号与权限)。
二 日志分析与系统资源联动
- 错误与异常定位:在 catalina.out 中检索关键字,如
grep "ERROR" /path/to/tomcat/logs/catalina.out;结合时间戳定位高峰与异常时段。 - 访问日志分析:查看 access_log 识别耗时或异常频繁的请求,辅助定位性能瓶颈。
- 资源瓶颈排查:配合 top/htop、vmstat、iostat 观察 CPU、内存、磁盘 I/O、网络 使用情况,判断是否为系统层面瓶颈。
- 配置与代码:必要时复核 server.xml/context.xml 等配置,并回溯应用代码以优化慢查询或内存泄漏。
三 可视化与告警平台
- JMX + VisualVM/JProfiler:在 conf/server.xml 添加 JmxRemoteLifecycleListener 并配置 RMI 端口,设置 jmxremote.password/access;JVM 启动参数中开启 JMX(如
-Dcom.sun.management.jmxremote等),随后用 VisualVM 或 JProfiler 远程连接查看 CPU、内存、线程、类 等指标。 - Zabbix:部署 Zabbix Java Gateway,在 Zabbix Server 配置 Java 网关,为主机套用 Tomcat 模板 实现指标采集与告警。
- Prometheus + Grafana:部署 Prometheus 与 Grafana,在 Prometheus 中配置抓取 Tomcat Exporter/JMX Exporter 目标,Grafana 导入 Tomcat 面板进行可视化。
- 轻量方案:使用 Hertzbeat 对 Tomcat 进行开箱即用的监控与告警,兼容 Prometheus 生态。
四 自动化巡检与自恢复脚本
- 健康检查脚本:定时探测 /manager/status 或根路径,依据 HTTP 状态码 判断存活;异常时调用 startup.sh 重启并记录日志。示例:
#!/usr/bin/env bash URL="http://localhost:8080/manager/status" if ! curl -f -m 10 "$URL" > /dev/null 2> & 1; then echo "$(date) Tomcat DOWN, restarting..." > > /var/log/tomcat_monitor.log /opt/tomcat/bin/startup.sh fi - 进程与端口双检:脚本中同时检查 ps -ef | grep tomcat 与 netstat -tuln | grep 8080,降低误判。
- 定时执行:将脚本加入 crontab(如每分钟一次),并配合日志轮转避免日志膨胀。
- 谨慎自动重启:生产环境建议先告警、人工确认后再重启,或在脚本内加入重启次数限制与熔断策略。
五 日志轮转与健康检查清单
- 日志轮转:使用 logrotate 管理 catalina.out 等日志,控制单文件大小与保留份数,避免磁盘被占满。示例配置:
/opt/tomcat/logs/*.out { size 50M rotate 7 compress missingok copytruncate } - 日常巡检清单:
- 服务与进程:
systemctl status tomcat、ps -ef | grep tomcat - 端口:
netstat -tuln | grep 8080 - 日志:
tail -n50 /opt/tomcat/logs/catalina.out | grep -i error - 资源:
top/htop、vmstat 1 5、iostat -x 1 5 - 访问:
tail -n50 /opt/tomcat/logs/access_log | head - JMX/可视化:确认 JMX 端口连通、VisualVM/Zabbix/Prometheus 数据正常
- 服务与进程:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样监控Ubuntu上的Tomcat运行状态
本文地址: https://pptw.com/jishu/751594.html
