温馨提示×

apache日志格式怎么看

小樊
36
2026-09-04 04:04:23
栏目: 编程语言

Apache 的日志格式通常分为 访问日志(access log)错误日志(error log)。最常见的是访问日志,它的“格式”由 LogFormat 指令定义。下面我用通俗方式给你讲怎么看。


一、先找到日志文件

常见位置:

  • CentOS / RHEL
    • /var/log/httpd/access_log
    • /var/log/httpd/error_log
  • Ubuntu / Debian
    • /var/log/apache2/access.log
    • /var/log/apache2/error.log

查看命令示例:

tail -f /var/log/apache2/access.log

二、最常见的访问日志格式(Combined)

默认 Apache 常用的是 combined 格式,一行大概长这样:

192.168.1.10 - - [12/Jan/2026:10:25:33 +0800] "GET /index.html HTTP/1.1" 200 2326 "https://example.com/" "Mozilla/5.0 ..."

逐段解释:

内容 含义
192.168.1.10 客户端 IP
- 远程日志名(通常为 -
- 认证用户(未登录为 -
[12/Jan/2026:10:25:33 +0800] 访问时间(时区)
"GET /index.html HTTP/1.1" 请求方法、路径、协议
200 HTTP 状态码
2326 返回字节数
"https://example.com/" Referer(来源页)
"Mozilla/5.0 ..." User-Agent(浏览器/客户端)

三、Apache 定义的日志格式变量

httpd.confapache2.conf 里常见:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

常用变量含义:

  • %h:客户端 IP
  • %l:远程登录名(几乎总是 -
  • %u:认证用户
  • %t:时间
  • %r:请求行(方法+URL+协议)
  • %>s:状态码
  • %b:响应大小
  • %{Referer}i:来源
  • %{User-Agent}i:客户端信息

四、错误日志怎么看

示例:

[Mon Jan 12 10:26:01.123456 2026] [core:error] [pid 1234] [client 192.168.1.10:55555] AH00124: Request exceeded the limit

解释:

  • 时间
  • 模块(core / php / ssl 等)
  • 日志级别(error / warn / notice)
  • 进程 ID
  • 客户端 IP
  • 具体错误信息

五、快速排查技巧

# 看访问最多的 IP
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head

# 看 404 请求
grep " 404 " access.log

# 看某 IP 的访问
grep "192.168.1.10" access.log

如果你愿意,可以把一段真实日志贴出来,我可以直接帮你逐条解读;或者告诉我你是 查问题 / 做统计 / 写分析脚本,我可以按场景讲。

0