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

你好!
我是井上,Beyond Shikoku 办公室的波斯猫。

作为一名基础设施工程师,我每天都会遇到系统故障,因此经常会接触到访问日志。
这次,我想简单解释一下如何解读 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 = 服务器端发生错误

概括

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

由于我每天都要处理各种警报,所以当Web服务器负载突然增加时,我总是会查看访问日志。
查看访问日志还能让我了解是否存在恶意访问尝试。
我还会仔细研究访问日志,眼睛都离不开它们!(`・ω・´)
在博客上写下这些内容,也加深了我对这方面的理解。

我将继续经历反复试验的过程,
撰写博客文章,分享我最喜欢的命令以及我个人想要更好地了解的事情。

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

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

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

我们的云/服务器运行监控服务(7x24小时/365天)点击此处了解 

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

如果您觉得这篇文章对您有帮助,请点个“赞”!
18
加载中...
18票,平均分:1.00/118
264,197
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

井上彩花

我隶属于系统解决方案部门。
我是Beyond公司四国办公室的创始成员之一。我之前没有任何IT行业经验,直接进入了这个行业。
作为培训团队的一员,我负责为应届毕业生、职场新人和现有员工制定培训课程并开展培训。我的
主要职责是服务器的运维。
我尤其重视客户的内容。此外,
我还隶属于网络内容业务部门和YouTube团队。