在 Ubuntu 上分析 Tomcat 日志,通常从日志位置、常用日志类型、分析命令和工具几个方面入手。下面给你一套从入门到进阶的实用指南。
Tomcat 日志一般在:
/var/log/tomcat*/
或(源码安装):
/usr/local/tomcat/logs/
常见日志文件:
| 文件名 | 作用 |
|---|---|
catalina.out |
主日志(最常用) |
catalina.2025-01-21.log |
按日期分割 |
localhost.log |
应用级异常 |
localhost_access_log.txt |
访问日志(类似 Nginx) |
manager.log |
manager 应用日志 |
tail -f /var/log/tomcat9/catalina.out
✅ 用于观察启动、报错、请求异常
grep -n "ERROR" catalina.out
grep -n "Exception" catalina.out
只看最近 100 行:
tail -n 100 catalina.out | grep Exception
sed -n '/2025-01-21 10:00/,/2025-01-21 11:00/p' catalina.out
查看访问最多的 IP:
awk '{print $1}' localhost_access_log.txt | sort | uniq -c | sort -nr | head
查看访问最多的接口:
awk '{print $7}' localhost_access_log.txt | sort | uniq -c | sort -nr | head
grep " 500 " localhost_access_log.txt
grep " 404 " localhost_access_log.txt
less catalina.out
重点搜索:
grep -i "error\|exception\|fail" catalina.out
常见错误:
ss -lntp | grep 8080
或:
netstat -tlnp | grep 8080
如果 Tomcat 是 systemd 管理:
journalctl -u tomcat9 -f
查看某段时间:
journalctl -u tomcat9 --since "2025-01-21 10:00" --until "11:00"
sudo apt install goaccess
goaccess localhost_access_log.txt -c
可生成 HTML 报表
适合:
✅ 多 Tomcat
✅ 高并发
✅ 日志集中分析
sudo apt install lnav
lnav catalina.out
✅ 语法高亮
✅ 自动识别时间
✅ 快速搜索
| 场景 | 建议 |
|---|---|
| 启动失败 | 看 catalina.out |
| 接口 500 | localhost.log |
| 慢请求 | access log + 响应时间 |
| 内存溢出 | 搜索 OutOfMemoryError |
| 被攻击 | access log + IP 统计 |
# 查看最近异常
tail -n 200 catalina.out | grep -A 10 -B 2 Exception
# 查看访问 TOP10 IP
awk '{print $1}' localhost_access_log.txt | sort | uniq -c | sort -nr | head
如果你愿意,可以告诉我:
我可以 直接帮你分析日志内容。