`
king520
  • 浏览: 177042 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

Apche日志:访问日志

 
阅读更多

转自

http://www.cnblogs.com/xiaochaohuashengmi/archive/2011/04/24/2026559.html

一、访问日志的格式
Apache内建了记录服务器活动的功能,这就是它的日志功能。这个文章介绍的就是Apache的访问日志、错误日志,以及如何分析日志数据,如何定制Apache日志,如何从日志数据生成统计报表等内容。
如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。

两个文件是access_log和error_log(在Win上是 access.log和error.log)。采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于 Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其 他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。

【总结】访问日志和错误日志的 位置 名字
Windows: <Apache安装目录>\logs\access.log | error.log
Linux: /usr/local/apache/logs/access_log | error_log
正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。下面是访问日志中一个典型的记录:
例子:216.35.116.91 - - [19/Aug/2000:14:47:37 -0400] "GET / HTTP/1.0" 200 654

【总结】:日志名字段所代表的内容: 1.远程主机、2.空白(E-mail)、3.空白(登录名)、4.请求时间、5.方法+资源+协议、6.状态代码、7.发送字节数

这行内容由7项构成,上面的例子中有两项空白,但整行内容仍旧分成了7项。
第 一项信息是远程主机的地址,即它表明访问网站的究竟是谁。在上面的例子中,访问网站的主机是216.35.116.91。随便说一句,这个地址属于一台名 为si3001.inktomi.com的机器(要找出这个信息,可以使用nslookup工具查找DNS),inktomi.com是一家制作Web搜 索软件的公司。可以看出,仅仅从日志记录的第一项出发,我们就可以得到有关访问者的不少信息。
默认情况下,第一项信息只是远程主机的IP地址,但我们可以要求Apache查出所有的主机名字,并在日志文件中用主机名字来替代IP地址。然而,这种做法通常不值得推荐,因为它将极大地影响服务器记录日志的速度,从而也就减低了整个网站的效率。另外,有许多工具能够将日志文件中的IP地址转换成主机名字,因此要求Apache记录主机名字替代IP地址是得不偿失的。
然而,如果确实有必要让Apache找出远程主机的名字,那么我们可以使用指令“HostNameLookups on”。
如果HostNameLookups设置成double而不是on,日志记录程序将对它找到的主机名字进行反向查找,验证该主机名字确实指向了原来出现的IP地址。默认情况下HostNameLookups设置为off。
上例日志记录中的第二项是空白,用一个“-”占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的email地址或者其他唯一标识符。 这个信息由identd返回,或者直接由浏览器返回。很早的时候,那时Netscape 0.9还占据着统治地位,这个位置往往记录着浏览者的email 地址。然而,由于有人用它来收集邮件地址和发送垃圾邮件,所以它未能保留多久,很久之前市场上几乎所有的浏览器就取消了这项功能。因此,到了今天,我们在 日志记录的第二项看到email地址的机会已经微乎其微了。

日志记录的第三项也是空白。这个位置用于记录浏览者进行身份验证时提供的名字。当然,如果网站的某些内容要求用户进行身份验证,那么这项信息是不会空白的。但是,对于大多数网站来说,日志文件的大多数记录中这一项仍旧是空白的。

日志记录的第四项是请求的时间。这个信息用方括号包围,而且采用所谓的“公共日志格式”或“标准英文格式”。因此,上例日志记录表示请求的时间是2000年8月19日星期三14:47:37。时间信息最后的“-0400”表示服务器所处时区位于UTC之前的4小时。

日志记录的第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。
【总结】
METHOD: GET、POST、HEAD、……
RESOURCE: /、index.html、/default/index.php、……(请求的文件)
PROTOCOL: HTTP+版本号

在上例中,METHOD是GET,其他经常可能出现的METHOD还有POST和HEAD。此外还有不少可能出现的合法METHOD,但主要就是这三种。
RESOURCE是指浏览者向服务器请求的文档,或URL。在这个例子中,浏览者请求的是“/”,即网站的主页或根。大多数情况下,“/”指向DocumentRoot目录的index.html文档,但根据服务器配置的不同它也可能指向其他文件。
PROTOCOL 通常是HTTP,后面再加上版本号。版本号或者是1.0,或者是1.1,但出现1.0的时候比较多。我们知道,HTTP协议是Web得以工作的基 础,HTTP/1.0是HTTP协议的早期版本,而1.1是最近的版本。当前大多数Web客户程序仍使用1.0版本的HTTP协议。
日志记录的第六项信息是状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常。状态代码的完整清单可以参考维基百科中的HTTP状态码。一般地说,以2开头的状态代码表示成功,以3开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头的状态代码表示客户端存在某种错误,以5开头的状态代码表示服务器遇到了某个错误。
日志记录的第七项表示发送给客户端的总字节数。它告诉我们传输是否被打断(即,该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。
二、配置访问日志
访问日志文件的位置实际上是一个配置选项。如果我们检查httpd.conf配置文件,可以看到该文件中有如下这行内容:
CustomLog /usr/local/apache/logs/access_log common 注意,对于版本较早的Apache服务器,这行内容可能略有不同。它使用的可能不是CustomLog指令,而是TransferLog指令。如果你的服务器属于这类情况,建议你尽可能地早日升级服务器。
CustomLog指令指定了保存日志文件的具体位置以及日志的格式。上面这行指令指定的是common日志格式,自从有了Web服务器开始,common格式就是它的标准格式。由此我们也可以理解,虽然几乎不再有任何客户程序向服务器提供用户的标识信息,但访问日志却还保留着第二项内容。
CustomLog指令中的路径是日志文件的路径,由于日志文件是由HTTP用户打开的(用User指令指定),因此必须注意这个路径要有安全保证,防止该文件被随意改写。

分享到:
评论

相关推荐

    Apache日志分析手册

    Apache日志分析手册详细介绍了如何在Linux环境下利用Apache服务器的访问日志来分析和诊断问题。在生产环境中,服务器的运行状况往往可以通过日志文件得到反映,特别是在发现访问量异常、响应缓慢或出现错误信息时。...

    APACHE日志分析工具

    很多apache日志分析工具都是要安装到服务器上的,而且安装非常麻烦,于是我写了一个单机版(exe,Windows),方便大家分析apache访问日志,绿色版的,直接解压就可以用。 功能: 1、导入apache访问日志; 2、访问...

    Python程序设计:python apache日志分析.pptx

    Apache日志分析是系统监控和故障排查的重要环节,特别是在服务器管理中,理解并解析Apache的日志可以帮助我们了解网站的访问情况、找出潜在的问题以及优化性能。在这个任务中,我们将使用Python来处理Apache的访问...

    Web应用安全:apache日志配置.pptx

    在kali,访问日志被记录在”/var/log/apache2/”中,在这个文件夹中三个后缀名为“.log”的文件中(windows则保存在后缀名为“.txt”的文件中)。 日志文件 查看日志文件 apache日志配置 远程主机IP E-mail(常为空白...

    Apache日志分析:获取IP地址

    2. **日志格式理解**:Apache日志一般遵循Common Log Format(CLF)或Combined Log Format(CLF扩展版),其中IP地址通常位于第一项。例如,`127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif ...

    天智Apache日志分析器

    Apache日志分析是运维人员和网站开发者日常工作中不可或缺的一部分,它可以帮助我们理解网站的访问情况,检测潜在的问题,以及优化网站性能。"天智Apache日志分析器"是一款专为这项任务设计的工具,由VC++编程语言...

    apache日志切割

    例如,如果我们希望每天生成一个新的错误日志和访问日志文件,配置如下: ```apacheconf ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/errorlog/error.log_%Y%m%d 86400 480" CustomLog "|/usr/...

    apache日志分析系统免费版V1.6

    Apache日志分析系统免费版V1.6是一款专为管理和解析Apache服务器日志设计的工具。这个系统能够帮助用户深入理解网站的访问情况,提供详细的数据统计和分析,包括但不限于访问量、用户行为、热门页面、来源IP、浏览器...

    如何按日期生成apache日志文件及限制apache日志文件大小

    理解这些配置选项和用法,可以帮助你有效地管理Apache日志,确保日志系统既能够提供必要的记录,又不会成为系统资源的负担。通过结合使用`rotatelogs`和定期清理策略,你可以创建一个高效且易于维护的日志管理体系。

    天智Apache日志查看器 v1.5.zip

    Apache日志文件通常包含丰富的信息,如HTTP请求、响应状态码、客户端IP地址、访问时间、请求资源等,这对于诊断服务器问题、优化网站性能、追踪安全事件至关重要。天智Apache日志查看器能够帮助用户快速理解这些信息...

    debian apache日志服务器配置

    这里使用了`logger`命令将Apache的访问日志通过`syslog`发送,`-p local5.info`指定facility。注释掉原来的`CustomLog`行,防止本地同时记录日志。 完成以上配置后,重启Apache服务: ```bash sudo /etc/init.d/...

    Web应用安全:apache日志配置.docx

    在Web应用安全领域,理解并正确配置Apache日志是至关重要的,因为这些日志提供了关于服务器活动、潜在攻击和性能问题的关键信息。本文将深入探讨Apache日志配置,帮助读者掌握如何管理和分析这些日志。 一、Apache...

    记录一次ssh日志分析和apache日志分析

    ### SSH与Apache日志分析详解 #### 一、概述 在运维工作中,日志分析是一项重要的任务,通过分析系统产生的各种日志文件可以帮助我们更好地理解系统的运行状况,及时发现潜在的安全威胁并采取措施应对。本文将详细...

    Apache访问日志分析(含源代码)

    Apache访问日志是记录Web服务器活动的重要记录,包含着丰富的信息,如客户端IP地址、请求时间、请求资源、响应状态码、用户代理等。对于网站管理员来说,分析这些日志有助于了解网站的流量情况、用户行为、性能瓶颈...

    apache日志分割

    Apache日志分割是管理和分析大型Web服务器日志文件的一种常见方法。Apache,作为最流行的开源Web服务器,会产生大量的访问日志,这些日志记录了所有客户端请求的详细信息。随着时间的推移,单个日志文件可能会变得...

    apache日志分析系统awStats完全教材

    ### Apache日志分析系统awStats完全教材:深入解析与实践指南 #### 一、引言:awStats在Apache日志分析中的角色 在现代网络环境中,服务器日志扮演着至关重要的角色,它们不仅记录了网站的访问情况,还提供了关于...

    基于hadoop平台的pig语言对apache日志系统的分析

    1. 数据预处理:首先,需要将Apache日志文件(如logs.log)加载到HDFS中,以便于Pig可以访问。这通常通过Pig的`LOAD`命令完成。 2. 数据清洗:日志文件可能包含不完整或错误的记录,因此需要过滤掉无效或异常的...

    查看apache日志

    ### 查看Apache日志 #### 知识点一:Apache简介 Apache是一款广泛使用的Web服务器软件,支持多种操作系统,如Windows、Linux等。它通过高度模块化的结构来提供灵活的功能扩展性,支持动态加载模块,这使得Apache...

    Web应用安全:apache日志配置(实验).doc

    实验一:apache日志配置 实验目的 修改apache主配置文件中的日志配置 实验内容 在kali中找到主配置文件 修改日志配置 访问服务器产生日志 查看日志 实验环境 Kali系统 实验步骤 1.在kali中找到apache的主配置文件...

Global site tag (gtag.js) - Google Analytics