温馨提示×

Linux环境下Tomcat日志分析技巧

小樊
52
2025-09-11 03:33:27
栏目: 智能运维

一、日志文件定位

Tomcat日志默认存放在$CATALINA_HOME/logs目录下,常见文件包括:

  • catalina.out:主日志,记录启动、运行及错误信息。
  • localhost.log:应用部署及上下文加载日志。
  • access_log.*.txt:HTTP访问日志,记录请求IP、时间、状态码等。

二、基础查看与分析

  • 实时查看:用tail -f catalina.out跟踪最新日志。
  • 分页查看:用lessmore命令分页浏览日志。
  • 关键字搜索:用grep "ERROR" catalina.out筛选错误信息。
  • 字段提取:用awk提取特定字段(如时间、IP),cut -d' ' -f1-3按空格提取前3字段。

三、高级分析技巧

  • 日志过滤与统计
    • sed按时间范围筛选日志,如sed -n '/2025-01-01 00:00:00/,/2025-01-01 23:59:59/p' catalina.out
    • sort | uniq -c统计重复日志条目,如grep "404" access_log | sort | uniq -c
  • 工具集成分析
    • ELK Stack:Logstash采集日志,Elasticsearch存储,Kibana可视化,适合大规模日志分析。
    • Graylog:支持实时搜索、告警和仪表板,适合复杂环境。
    • GoAccess:快速分析访问日志,生成访问量、响应时间等统计图表。

四、常见问题定位

  • 端口冲突:通过netstat -tulnplsof -i :端口号检查,修改conf/server.xml中端口配置。
  • 内存不足:查看catalina.outOutOfMemoryError,调整catalina.shJAVA_OPTS参数(如-Xms512m -Xmx1024m)。
  • 类加载错误:根据ClassNotFoundException定位缺失的JAR包,检查WEB-INF/lib目录。
  • 数据库连接问题:分析localhost.log中数据库异常,确认URL、用户名、密码及服务状态。

五、日志管理建议

  • 定期轮转:用logrotate配置日志压缩和删除策略,如/etc/logrotate.d/tomcat中设置daily rotate 7 compress
  • 权限设置:确保日志文件权限为640,属主为Tomcat运行用户,避免权限不足导致写入失败。

0