Debian Tomcat日志中哪些信息值得关注
小樊
45
2025-11-22 19:16:38
Debian Tomcat日志重点关注清单
一 日志文件与存放路径
- 常见路径为:/var/log/tomcat*/(按版本或实例分目录)或 /usr/local/tomcat/logs/;具体以环境变量 CATALINA_HOME 或安装方式为准。
- 关键文件与作用如下:
- catalina.out:标准输出/错误,包含启动、运行、关闭日志及应用的控制台输出。
- catalina.{yyyy-MM-dd}.log:按日期的引擎运行日志(不含应用控制台输出)。
- localhost.{yyyy-MM-dd}.log:应用初始化与未处理异常(如 Listener/Filter/Servlet 抛出的异常)。
- localhost_access_log.{yyyy-MM-dd}.txt:访问日志,记录请求时间、资源、状态码等。
- manager.{yyyy-MM-dd}.log / host-manager.{yyyy-MM-dd}.log:管理应用的访问与操作日志。
- 日志配置通常在 $CATALINA_HOME/conf/logging.properties 中(日志级别、输出方式等)。
二 单条日志的必看字段
- 时间戳:定位事件发生时间、计算持续时长与关联事件顺序。
- 日志级别:优先关注 SEVERE/WARN/ERROR,其次 INFO/CONFIG;必要时临时开启 FINE/FINER/FINEST 获取细节。
- 线程名/线程ID:多线程问题时用于追踪同一请求链路。
- 类名/方法名:快速定位到抛出异常的类/方法。
- 异常堆栈:从顶层异常到根本原因的调用链,是定位 Bug 的关键。
- 请求信息(访问日志):**客户端IP、请求方法、URI、协议、状态码、响应字节数、处理时间(ms)**等,用于业务与性能分析。
- JVM/环境信息(启动阶段):如 Java Home、JVM Version、OS 信息,用于环境一致性与版本排查。
三 需要重点留意的异常与告警模式
- 启动失败与端口冲突:如“Address already in use”,需检查端口占用并释放或调整端口。
- 内存与GC问题:出现 OutOfMemoryError、频繁 Full GC 告警,需结合内存配置与堆/非堆监控进一步排查。
- 数据库连接异常:连接池耗尽、连接超时、认证失败等,核对 JDBC URL、账号密码、网络与数据库可用性。
- 应用初始化异常:Filter/Servlet/Listener 抛出的未处理异常,通常出现在 localhost.log。
- 访问异常趋势:访问日志中 4xx/5xx 比例升高、**响应时间(%D/%T)**异常增大,提示业务或性能瓶颈。
- 权限与安全事件:管理应用(manager/host-manager)异常登录或越权操作。
四 高效查看与分析的实用命令
- 实时查看与过滤:
- 实时跟踪:tail -f /var/log/tomcat/catalina.out*
- 关键字筛选:grep -i “ERROR|Exception|OutOfMemoryError” catalina.out
- 时间段定位:sed -n ‘/2025-11-22 10:00:00/,/2025-11-22 10:10:00/p’ catalina.out
- 线程与内存诊断:
- 获取进程号:jps 或 ps -ef | grep tomcat
- 线程转储:jstack > threaddump.txt(配合日志中的线程名/ID 分析)
- 访问日志洞察:
- Top 5 耗时请求:awk ‘{print $NF, $0}’ localhost_access_log.*.txt | sort -nr | head -5(按 %D 毫秒耗时)
- 统计 5xx 数量:grep ’ 5[0-9][0-9] ’ localhost_access_log.*.txt | wc -l
- 日志轮转与保留:按日期切分(如 cronolog 或系统 logrotate),避免单文件过大影响检索与归档。
五 日志配置与访问日志字段建议
- 调整日志级别与输出:在 conf/logging.properties 中按需提升/降低级别,避免生产环境长期开启 FINE 级别导致磁盘暴涨。
- 访问日志字段建议:在 server.xml 的 AccessLogValve 中使用 combined 或自定义包含 %h %l %u %t “%r” %s %b “%{Referer}i” “%{User-Agent}i” %D 的格式,以便进行来源分析、性能统计与问题复现。
- 目录与权限:确保日志目录(如 /var/log/tomcat)对 tomcat 用户可写,并纳入备份与监控告警策略。