[Apache] 阅读访问日志的简易指南!*2025年2月更新

你好!
我是井上,一只来自 Beyond Co., Ltd. 四国办事处的波斯猫。

作为一名基础设施工程师,我日常排查问题时经常需要查看访问日志。
本文将简要介绍如何解读 Apache 访问日志。

点击此处了解如何阅读 Nginx 访问日志,该日志经常与 Apache 的访问日志进行比较。

什么是访问日志?

访问日志是与服务器连接的历史记录并记录诸如日期和时间、访问源的 IP 地址、请求的页面以及使用的浏览器和设备等信息。

基础设施工程师使用访问日志的一个例子是响应警报。

检查发出警报的服务器的访问日志,查看访问次数与正常情况相比是增加还是减少。如果访问次数突然增加,则表示服务器负载过重。

我们可能还会检查正在访问的页面,以确保它们确实存在。

我们来看一下 Apache 访问日志!

[root@test-aws-harukainoue httpd]# tail access_log xxx.xx.xx.xxx - - [11/Dec/2019:12:01:22 +0000] "GET / HTTP/1.0" 200 35 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3602.2 Safari/537.36"

以下摘录部分结果。

这里有一堆我不认识的字母数字字符和符号。

让我们来分析访问日志!

默认的 Apache 配置文件位于
/etc/httpd/conf/httpd.conf 如果您查看“/etc/httpd/conf/httpd.conf”文件的内容,

LogFormat "%h %l %u %t \"%r\" %t %b \"%{Referer}i\" \"%{User-Agent}i\"" combined CustomLog "logs/access_log" combined

这说明组合格式被设置为默认格式。
日志将以这种格式显示。

格式字符串 格式的含义 访问日志值 评论
%h 远程主机的IP地址 xxx.xx.xx.xxx
%l 连接源的用户名 - (未设置) 大多数情况下,此值设置为 -,但
如果服务器上存在 mod_ident 并且 IdentityCheck 指令设置为 On,则会输出一个值。
%u 远程用户 - (未设置)
%t 访问日期和时间 2019/11/11 12:01
\"%r\" 已访问的文件 ・操作 = 获取

・HTTP = 协议

资源 = 1.0

反斜杠显示为“\”。
%>s 状态码 200(正常)
%b 资源积分转移金额 35 字节
"%{Referer}i" 访问源 URL - (未设置)
它会输出用户是通过其他网站访问还是
"%{User-Agent}i" 您使用的是什么操作系统和浏览器? Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/72.0.3602.2 Safari/537.36 ・操作系统 = Linux

・浏览器 = Chrome

简单介绍一下状态码的含义

状态码是网络服务器和网络浏览器用来传递其状态的数字(代码)。

200 = 请求成功
301 = 请求的页面已移至其他页面
302 = 暂时移至其他页面
403 = 无权查看请求的页面
404 = 请求的页面不存在
500 = 服务器端发生错误

概括

能够查看访问日志将大大提高您的基础设施工程技能!

每天处理警报时,如果服务器负载突然增加,我都会查看访问日志。
查看访问日志还能发现是否有恶意访问。
我也经常查看访问日志!('・ω・')
写这篇博文后,我对访问日志的理解也加深了。

继续尝试,并
撰写博客,分享我最喜欢的命令以及我个人想要了解更多的内容。

另外,虽然我们这次解释了如何读取 Apache 访问日志,但另一位成员也写了一篇关于如何读取 nginx 访问日志的博客文章,所以也请大家看看!

[nginx] 说明如何查看、配置和查找访问日志

每天都在成长,每天都在进步。
我必须每天都更新自己!
感谢您阅读到最后。

云/服务器运维监控服务(全年365天,每天24小时)

云/服务器运行监控服务(全年365天,每天24小时)

如果您觉得这篇文章有用,请点击【点赞】!
18
加载中...
18票,平均分:1.00/118
262,491
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

井上彩花

我是系统解决方案部门的一员。
我作为创始成员之一加入了Beyond,负责四国办公室的日常运营。我没有任何IT行业经验就直接进入了这个行业。
作为教育团队的一员,我负责为应届毕业生、职场新人和现有员工创建课程并开展培训。
我的主要工作是服务器的运维。
最重要的是,我非常关注客户的内容。此外,
我也是网站内容部门和YouTube团队的成员。