Linux服务日志分析教程_ApacheNginx日志处理技巧

7次阅读

Apache 和 Nginx 日志是排查 Web 问题、识别攻击、分析用户行为的核心依据,关键在于理解日志结构、掌握高效筛选逻辑并快速定位异常;需关注 remote_addr、time_local、request、status 等字段含义,结合 awk/grep 快速分析 5xx 错误、慢请求、TOP IP、扫描行为等,并落实日志轮转与脱敏策略。

Linux 服务日志分析教程_ApacheNginx 日志处理技巧

Apache 和 Nginx 日志是排查 Web 服务问题、识别攻击行为、分析用户访问模式的核心依据。关键不在于堆砌 工具,而在于理解日志结构、掌握高效筛选逻辑、快速定位异常线索。

看懂日志格式:从字段含义开始

Apache 默认使用 combined 格式,Nginx 默认是 log_format combined,两者字段高度一致:

  • remote_addr:客户端真实 IP(注意:若 前端 有代理,这里可能是代理 IP,需检查 X-Forwarded-For)
  • time_local:请求到达服务器的本地时间(非响应时间)
  • request:HTTP 方法 + URI + 协议,如 "GET /api/v1/users HTTP/1.1"
  • status:HTTP 状态码(404、502、499 等需重点关注)
  • body_bytes_sent:响应体 字节 数(不含响应头),为 0 可能表示空响应或重定向
  • http_referer:来源页面(空字符串或 “-” 表示直接访问)
  • http_user_agent:客户端标识(含爬虫、浏览器、移动端特征)

高频排查场景与对应命令

不用打开完整日志文件,用管道组合基础命令就能解决 80% 的日常问题:

  • 查最近 100 条 5xx 错误:tail -100 access.log | awk '$9 ~ /^5/ {print}'
  • 找耗时长的请求(假设第 10 字段是 $request_time,在 Nginx 中启用后):awk '$10 > 2.0 {print $1, $7, $9, $10}' access.log | sort -k4nr | head -20
  • 统计 TOP 10 访问 IP:awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
  • 识别疑似扫描行为(高频 404 + 非常规路径):awk '$9 == 404 && $7 ~ /phpmyadmin|wp-admin|.git|.env/ {print $1, $7}' access.log | head -15

进阶技巧:用 awk/grep 做轻量聚合

避免导入数据库也能做有效分析:

  • 按小时统计请求数:awk '{print substr($4,2,13)}' access.log | sort | uniq -c(提取 “[10/Jan/2024:14” 这类前 13 字符)
  • 分离静态资源请求(提升缓存判断效率):awk '$7 ~ /.(js|css|png|jpg|gif|woff2?)$/ {print $7, $9, $10}' access.log
  • 标记疑似恶意 UA:grep -E 'sqlmap|nikto|dirbuster|wget.*-r' access.log | awk '{print $1, $12}'

日志轮转与保留策略建议

日志不是存得越久越好,关键是可查、可控、可清理:

  • Nginx:在 nginx.conf 中配置 logrotate 或用 rotate 指令配合脚本,建议单文件不超过 100MB
  • Apache:通过 rotatelogs 或系统级 logrotate 管理,禁用 CustomLog "|……" 类实时管道写入(易阻塞)
  • 保留周期参考:业务日志 7 天,安全审计类(含错误 / 访问异常)30 天,核心接口调用日志可压缩归档 90 天
  • 敏感字段脱敏:若日志含手机号、token 参数,应在写入前用 Lua(Nginx)或 RewriteRule(Apache)过滤或掩码

不复杂但容易忽略。日志的价值不在量,而在你能多快从中拎出那条关键线索。

星耀云
版权声明:本站原创文章,由 星耀云 2026-01-08发表,共计1545字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。