首页主机资讯Ubuntu Tomcat日志中的异常如何排查

Ubuntu Tomcat日志中的异常如何排查

时间2026-01-19 22:18:05发布访客分类主机资讯浏览431
导读:Ubuntu Tomcat日志异常排查实操指南 一 定位日志与快速查看 常见日志目录:$CATALINA_HOME/logs(Tomcat安装目录下的 logs),或发行版包安装的 /var/log/tomcat。核心文件包括:catal...

Ubuntu Tomcat日志异常排查实操指南

一 定位日志与快速查看

  • 常见日志目录:$CATALINA_HOME/logs(Tomcat安装目录下的 logs),或发行版包安装的 /var/log/tomcat。核心文件包括:catalina.out(标准输出/错误)、localhost.< 日期> .log(应用日志)、localhost_access_log.< 日期> .txt(访问日志)、以及按应用归档的 .log
  • 快速查看命令:
    • 实时跟踪:tail -f $CATALINA_HOME/logs/catalina.out
    • 关键字过滤:grep -i "ERROR\|SEVERE\|Exception" $CATALINA_HOME/logs/catalina.out
    • 分页查看:less $CATALINA_HOME/logs/catalina.out
    • 时间段定位:sed -n '/2026-01-04 10:00:00/,/2026-01-04 10:05:00/p' $CATALINA_HOME/logs/catalina.out
    • 异常上下文:cat -n catalina.out | grep -A5 -B5 "Exception"
      以上路径与命令适用于 Ubuntu 环境下的 Tomcat 日志排查。

二 从日志中提取关键信息

  • 关注要素:
    • 时间戳(定位发生时刻)
    • 日志级别(优先看 ERROR/WARN/SEVERE
    • 异常类型与消息(如 NullPointerException、SQLException
    • 完整堆栈跟踪(从你的代码或框架调用栈入手)
    • 访问日志状态码(结合 localhost_access_log 分析 4xx/5xx 分布)
  • 快速定位技巧:
    • 先搜异常关键词(Exception/ERROR),再用行号或时间段缩小范围;
    • 对大文件用 less 搜索(输入 /Exception 回车,按 n/N 跳转);
    • 将异常发生时间点的前后日志一并审查,避免只看单行信息。
      这些做法能显著提升定位效率,尤其是堆栈与访问日志的联动分析。

三 常见异常场景与处置要点

  • 端口被占用:
    • 检查:sudo lsof -i:8080ss -ltnp | grep 8080
    • 处理:释放占用进程或调整 server.xmlConnector port
  • 启动失败/类缺失:
    • 现象:ClassNotFoundException / NoClassDefFoundError
    • 处理:检查 WEB-INF/lib 是否包含依赖,核对 classpath 与打包(war)是否完整。
  • 内存不足:
    • 现象:OutOfMemoryError
    • 处理:检查堆/元空间设置(如 -Xms/-Xmx/-XX:MaxMetaspaceSize),优化代码与缓存策略。
  • 数据库连接失败:
    • 现象:SQLException、连接超时/拒绝
    • 处理:核对 JDBC URL、用户名、密码、驱动版本,确认数据库可达与连接池配置。
  • HTTP 状态码异常:
    • 4xx(客户端问题):如 404(资源不存在)、403(权限不足)、400(请求语法错误)
    • 5xx(服务端问题):如 500(应用异常)、503(服务不可用,常见于过载/维护)
      结合日志中的异常类型与状态码,可快速判断是配置、代码、依赖还是资源瓶颈导致。

四 环境与配置核查

  • 进程与端口:确认 Tomcat 进程 存在且监听正确端口(如 8080)。
  • 配置文件:核查 $CATALINA_HOME/conf/server.xml(连接器、线程池、超时)、web.xml(过滤器/监听器)、以及应用的 context.xml 与数据源配置。
  • 日志级别:在 $CATALINA_HOME/conf/logging.properties 中临时提升日志级别(如将相关 java.util.logging 级别调为 FINE/WARNING/SEVERE)以获取更详细输出,问题定位后再恢复。
  • 资源与磁盘:检查 CPU、内存、磁盘空间 是否充足,避免因磁盘写满导致日志或应用异常。
  • 日志轮转:使用 logrotate 管理 catalina.out 等日志,示例配置:
    • /opt/tomcat/logs/catalina.out { daily; rotate 7; compress; missingok; notifempty; copytruncate }
      上述核查能排除环境与配置层面的共性问题,减少误报与漏报。

五 高效排查命令清单

  • 实时看日志:tail -f $CATALINA_HOME/logs/catalina.out
  • 查端口占用:sudo lsof -i:8080ss -ltnp | grep 8080
  • 搜异常并看上下文:cat -n catalina.out | grep -A10 -B10 "Exception"
  • 按时间段查看:sed -n '/2026-01-04 10:00:00/,/2026-01-04 10:05:00/p' $CATALINA_HOME/logs/catalina.out
  • 统计 5xx 数量:awk '$9 ~ /^5[0-9]{ 2} $/ { count++} END { print "5xx:", count} ' $CATALINA_HOME/logs/localhost_access_log.*
  • 查看进程:ps aux | grep tomcat
    这些命令覆盖从进程、端口到日志内容的全链路排查,适合日常快速定位与复盘。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Tomcat日志中的异常如何排查
本文地址: https://pptw.com/jishu/786288.html
如何通过日志分析提升Ubuntu Tomcat可用性 Ubuntu Tomcat日志中的警告如何处理

游客 回复需填写必要信息