温馨提示×

怎样分析linux tomcat日志

小樊
38
2026-09-20 21:49:35
栏目: 智能运维

分析 Linux 下 Tomcat 日志,通常可以按日志类型 → 分析工具 → 常见场景 → 实战命令的思路来进行。下面给你一套比较实用的方法。


一、Tomcat 常见日志文件位置

默认在:

$TOMCAT_HOME/logs/

常见日志文件:

文件 说明
catalina.out 主日志,最常用
catalina.YYYY-MM-DD.log 按天分割的 catalina 日志
localhost.YYYY-MM-DD.log 本地应用相关
localhost_access_log.YYYY-MM-DD.txt 访问日志(类似 Nginx)
manager / host-manager 管理端日志

二、基础查看方式

1. 实时查看日志

tail -f catalina.out

2. 查看最近 N 行

tail -n 200 catalina.out

3. 搜索关键字

grep -i "exception" catalina.out
grep -i "OutOfMemory" catalina.out

4. 按时间过滤

sed -n '/2025-01-21 10:00/,/2025-01-21 11:00/p' catalina.out

三、常见分析场景

1. 分析异常 / 报错

grep -A 20 "Exception" catalina.out

重点看:

  • Caused by
  • Stack Trace
  • OutOfMemoryError
  • ClassNotFoundException

2. 分析访问日志(性能 / 流量)

访问日志示例:

127.0.0.1 - - [21/Jan/2025:10:12:01 +0800] "GET /api/test HTTP/1.1" 200 1234

统计访问量:

wc -l localhost_access_log.2025-01-21.txt

统计状态码:

awk '{print $9}' localhost_access_log.*.txt | sort | uniq -c

统计慢请求(假设有响应时间):

awk '$10 > 1000' localhost_access_log.*.txt

3. 分析 JVM / 内存问题

关注:

  • OutOfMemoryError
  • GC overhead limit exceeded

可配合:

grep -i "memory" catalina.out

并查看 JVM 参数:

ps -ef | grep tomcat

4. 分析启动失败

tail -n 100 catalina.out

常见原因:

  • 端口占用
  • 配置文件错误
  • 依赖缺失

四、进阶分析工具

1. 日志切割(防止太大)

logrotate

2. 可视化分析

  • ELK(Elasticsearch + Logstash + Kibana)
  • Graylog
  • Grafana + Loki

3. 脚本自动化

例如:每天统计错误数

grep -c "ERROR" catalina.$(date +%F).log

五、分析思路总结

  1. 先看 catalina.out
  2. 定位时间点
  3. 找 Exception / Error
  4. 结合访问日志看请求
  5. 必要时看 JVM / 系统资源

如果你愿意,可以:

  • 贴一段 具体日志
  • 或说明你是 排查报错 / 性能 / 安全

我可以帮你逐行分析。

0 踩