ubuntu

Ubuntu Tomcat日志中如何识别异常请求

小樊
42
2025-11-14 08:39:06
栏目: 智能运维

Ubuntu Tomcat日志中识别异常请求的实用方法

一 日志位置与关键文件

二 命令行快速识别异常

三 异常模式与日志特征对照

异常类型 典型特征 优先查看 快速命令示例
客户端请求错误(400/414/431 等) catalina.out 出现 “Error parsing HTTP request header”“Invalid character in request target” 等;access_log 状态码为 400,偶见 “GET null null” catalina.out、access_log grep -i "Error parsing HTTP request header" catalina.out;`awk ‘$9==400 {print $0}’ access_log
资源不存在或被扫描 access_log 大量 404,伴随非常规路径(如 /wp-admin, /.env access_log `awk ‘$9==404 {print $1,$7}’ access_log
可疑或危险方法 access_log 出现 OPTIONS/PUT/DELETE/TRACE 等非业务常用方法 access_log `awk '$6 ~ /OPTIONS
拒绝访问与权限问题 catalina.out 出现 AccessDeniedException 或应用层权限异常;access_log 状态码 403 catalina.out、access_log grep -i "AccessDenied" catalina.outawk '$9==403 {print $1,$7}' access_log
服务端处理异常 catalina.out 出现未捕获 Exception、数据库/连接池异常;localhost..log 堆栈丰富 catalina.out、localhost..log grep -i "Exception" catalina.out
请求耗时异常 access_log 响应时间字段异常偏高(需启用耗时记录) access_log `awk ‘{print $NF}’ access_log
说明:400 类错误常见于请求行/头包含非法字符(不符合 RFC 7230/3986),例如 URL 含未编码的 { } 等,Tomcat 会记录解析错误;此类问题在 catalina.out 有明显特征。

四 进阶分析与自动化

0
看了该问题的人还看了