apache的日志解析总结版

  • 格式:doc
  • 大小:254.84 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

web 服务器日志配置和分析详解
从某种程度上将”日志就是金钱”,因为通过日志能够分析出一个网站具有高流量,则广告商 愿意为其支付费用。对于所有的公司或 ICP 来说,除了要保证网站稳定正常的运行以外,一 个重要的问题就是网站访问量的统计和分析报表, 这对于了解和监控网站的运行状态, 提高 各个网站的服务能力和服务水平是必不可少的。而这些要求都可以通过对 Web 服务器日志 文件的统计和分析来实现。
一、
web 日志分析原理
web 服务器日志记录了 Web 服务器接收处理请求及运行时错误等各种原始信息。 通过对日志进 行统计、分析和综合,就能有效地掌握服务器的运行状况、发现和排除错误原因、了解客户访问 分布等,更好地加强系统的维护和管理。Web 服务模式主要有三个步骤: 服务请求,包含用户端的众多基本信息,如 IP 地址、浏览器类型、目标 URL 等。 服务响应,Web 服务器接收到请求后,按照用户要求运行相应的功能,并将信息返回给用户。 如果出现错误,将返回错误代码。 追加日志,服务器将对用户访问过程中的相关信息以追加的方式保存到日志文件中。如图 1 。
图 1 Web 服务模式主要有三个步骤
二、
Apache 日志的配置
1、日志类型 1.3 版本 Apache 的标准中规定了 4 类日志:

   
错误日志 访问日志 传输日志 Cookie 日志
其中:传输日志和 Cookie 日志被 Apache 2.0 认为已经过时。所以本文仅讨论错误日志 和访问日志。同时错误日志和访问日志被 Apache 2.0 默认设置。 错误日志包含: 获知失效链接 获知 CGI 错误 获知用户认证错误 访问日志包含: 访问服务器的远程机器的地址:可以得知浏览者来自何方 浏览者访问的资源:可以得知网站中的哪些部分最受欢迎 浏览者的浏览时间:可以从浏览时间(如工作时间或休闲时间)对网站内容进行调整 浏览者使用的浏览器:可以根据大多数浏览者使用的浏览器对站点进行优化 访问日志分类: 为了便于分析 Apache 的访问日志,Apache 的默认配置文件中,按记录的信息不同(用 不同格式昵称说明不同的信息)将访问日志分为 4 类: 普通日志格式(common log format,CLF)common 参考日志格式(referer log format)referrer 代理日志格式(agent log format)agent 2、配置访问日志命令 CustomLog 命令用来对服务器的请求进行日志记录。格式为: 格式 1:CustomLog 访问日志文件名 记录格式说明串|格式昵称 大多数日志分析软件都支持这种格式
记录客户访问站点的用户身份 结合以上三种日志信息
记录请求的用户代理
综合日志格式(combined log format)combined

格式 2:CustomLog "|管道程序名 访问日志文件名" 记录格式说明串|格式昵称 说明: 访问日志文件名:除非文件位置用”/“开头,否则所制定的文件位置是相对于 ServerRoot 目录的相对路径 格式昵称:使用 LogFormat 命令将一个记录格式说明串赋以一个名称 记录格式说明串:用字符串和格式说明符(以%开头)指定日志记录的内容 管道程序名:管道符”|”后面紧跟着一个程序的路径,这个程序把日志从标准输入设备中读 入并处理。 LogFormat 命令用于定义访问日志的记录格式。格式为: LogFormat "记录格式说明串" 格式昵称 从 apache2.conf 中可知,在 Apache 中定义了下面的 4 种类型的访问日志: LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agen t}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent
由于综合日志格式简单地结合了 3 种日志信息,所以在配置访问日志时,要么使用一 个综合文件进行记录,要么使用分离的多个(1-3)文件记录。通常使用一个综合日志格式文 件进行记录,配置为:
CustomLog /var/log/apache2/access.log combined 若使用 3 个文件分别进行记录,配置为: CustomLog /var/log/apache2/access.log common CustomLog /var/log/apache2/referer.log referer CustomLog /var/log/apache2/agent.log agent 下面的命令组: LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common 与下面的命令等效:

CustomLog logs/access_log "%h %l %u %t \"%r\" %>s %b" 通常我们配置访问日志时,使用先使用 LogFormat 命令定义格式昵称,然后再在 CustomLog 命令中引用昵称的方法。 在使用 LogFormat 和 CustomLog 命令中为了说明要记录的日志内容, 可以使用的常用 格式说明符如表-3。 格式说明符 %v %h %l %u %t %r 说明 进行服务的服务器的标准名字 ServerName, 通常用于虚拟主机的日志 记录中。 客户机的 IP 地址。 从 identd 服务器中获取远程登录名称,基本已废弃。 来自于认证的远程用户。 连接的日期和时间。 HTTP 请求的首行信息,典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。经常可能出现的 METHOD 是 GET、POST 和 HEAD;RESOURCE 是指浏览者向服务器请求的文档 或 URL;PROTOCOL 通常是 HTTP,后面再加上版本号,通常是 HTTP/1.1。 %>s 响应请求的状态代码,一般这项的值是 200,表示服务器已经成功地响 应浏览器的请求,一切正常;以 3 开头的状态代码表示由于各种不同的 原因用户请求被重定向到了其他位置; 4 开头的状态代码表示客户端 以 存在某种错误;以 5 开头的状态代码表示服务器遇到了某个错误。 %b %{Referer}i %U \"%{User-Agent}i\" 服务器的日志文件目录。 传送的字节数(不包含 HTTP 头信息),将日志记录中的这些值加起来 就可以得知服务器在一天、一周或者一月内发送了多少数据。
指明了该请求是从被哪个网页提交过来的。
请求的 URL 路径,不包含查询串。
此项是客户浏览器提供的浏览器识别信息。
图 2 是从一个访问日志文件中截取的几条记录。这里使用 winscp 远程登录到 Solaris 10
图 2 apache 访问日志 将其中一列各项信息分离于表-4 所示。 格式说明符 %h 远程主机 192.168.220.1 举例 1

相关主题