[Apache] 简单解释如何读取访问日志! *2024 年更新
你好!
这是井上,来自超越四国办事处的波斯猫。
说得酷一点,作为一个MSP,我在日常处理问题时经常会看到访问日志。
这次需要MSP! !我想简单介绍一下如何读取Apache访问日志。
什么是访问日志?
访问日志与服务器的连接历史记录。记录日期和时间、访问的 IP 地址、请求的页面以及使用的浏览器和设备等信息。
作为 MSP,我们如何使用访问日志的一个示例是用于警报响应。
检查有警报的服务器的访问日志,看看访问次数与正常情况相比是否增加或减少。如果访问量快速增加,则说明服务器负载过重。
我们还可能检查正在访问的页面以确认它们确实存在。
我们来看看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,如 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\"" 组合 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 | -(未设置) | 您是通过其他站点访问还是 直接从 URL 访问。 |
\"%{用户代理}i\" | 您使用什么操作系统和浏览器来访问它? | Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/72.0.3602.2 Safari/537.36 | ・操作系统=Linux
・浏览器 = Chrome |
我们先来了解一下状态码的含义
状态代码Web 服务器和 Web 浏览器用来传达彼此状态的
・200 = 请求成功
・301 = 请求的页面已移动到其他页面
・302 = 暂时移动到其他页面
・403 = 您没有权限查看请求的页面
・404 = 请求的页面存在否
/ 500 = 错误发生在服务器端
概括
如果你能看到访问日志,你的MSP能力就会暴涨!
在每天响应警报时,当网络服务器上的负载突然增加时,我总是检查访问日志。
您还可以检查访问日志以查看是否存在任何攻击性访问。
我也在用敏锐的目光看着访问日志! (`·ω·´)
写在博客上加深了我的理解。
我将继续重复试验和错误,并
撰写有关我最喜欢的命令和我个人想更好地理解的事情的博客。
另外,这次我解释了如何读取Apache的访问日志,但是有会员也写了一篇关于如何读取nginx的访问日志的博客,所以请也看看!
每天都在成长,每天都在前进。
我必须每天更新自己! ! !
感谢您阅读到最后。
▼点击此处获取云/服务器运行监控服务(全年365天、每天24小时)