apache 访问日志access_log 配置和解析 rotatelogs分割日志

本文详细介绍了Apache访问日志access_log的配置和解析,包括日志记录的各项信息如远程主机、请求时间、状态代码等。同时讲解了如何统计访问次数、分析访问页面和IP地址,以及利用rotatelogs进行日志分割。通过LogFormat和CustomLog指令自定义日志格式,便于日志管理和分析。
摘要由CSDN通过智能技术生成
一、解析访问日志
       apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助。
      如果Apache的安装方式是默认安装,服务器一运行就会有两个日志文件生成。
      这两个文件是  access_log(在Windows上是access.log)
                             error_log   (在Windows上是error.log)
      采用默认安装方式时,这些文件可以在/usr/local/apache/logs下找到;对于Windows系统,这些日志文件将保存在Apache安装目录的logs子目录。不同的包管理器会把日志文件放到各种不同的位置,所以你可能需要找找其他的地方,或者通过配置文件查看这些日志文件配置到了什么地方。
  正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。下面是访问日志中一个典型的记录

218.19.140.242 - - [03/Feb/2015:23:14:24 +0800] "GET / HTTP/1.1" 200 2*

分为7个部分:

(1)第一项信息是远程主机的地址,即它表明访问网站的究竟是谁。(可以要求apache查出所有的主机名字,并在日志文件中用主机名字来替代IP地址,但这种做法会极大的影响服务器记录日志的速度,从而降低整个网站的效率,不值得推荐)。
          然而,如果确实有必要让apache找出远程主机的名字,可以使用如下指令:

HostNameLookups on

     如果HostNameLookups设置成double而不是on,日志记录程序将对它找到的主机名字进行反向查找,验证该主机名字确实指向了原来出现的IP地址。

(2)上例日志记录的第二项是空白,用一个“-”占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的email地址或者其他唯一标识符。这个信息由identd返回,或者直接由浏览器返回。(为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了)。

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

(4)日志记录的第四项是请求的时间。这个信息用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。因此,时间信息最后的“-0400”表示服务器所处时区位于UTC之前的4小时。

(5)日志记录的第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器受到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”即“方法 资源 协议”(我们通常进行日志监控的时候,主要也是看这项内容)。例子中METHOD是GET,还有POST、HEAD等其他类型,主要是这三种。

RESOURCE是指浏览者向服务器请求的文档或者URL。在这个例子中,浏览者请求的是“/”,即网站的根或者主页。大多数情况下,“/”指向DocumentRoot目录的index.html文档,但根据服务器配置的不同也可能指向其他文件。

PROTOCOL通常是HTTP,然后再加上版本号。

(6)日志的第六项信息室状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候这项是200,它表示服务器已经成功的响应浏览器的请求,一切正常。(以2开头的状态码表示成功,以3开头的状态码表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头的状态代码表示客户端存在某种错误,以5开头的状态代码表示服务器遇到了某个错误)。

(7)日志记录的第七项表示发送客户端的总字节数。它告诉我们传输是否被打断(即该数值是否和文件的大小相同)



这里可以使用linux 命令 分析 access日志1.以url进行分析 
一般的日志格式
10.0.7.99 - - [28/Dec/2015:22:36:10 -0800] "GET /install/ HTTP/1.1" 200 512
    1           2 3     4                                      5           6        7                            8     9   (以空格分段)



1.以url进行分析

 统计某url xxx/index
,一天的访问次数

         直接查找、统计
# cat access_log |grep xxx/index | wc -l   
         两次精确查找、统计
# cat access_log |grep 'xxx/index' | grep '/images/index/e1.gif'|wc|awk '{print $1}'
  
 
统计日志中访问超过100次的页面

#cat access_log | cut -d ' ' -f 7 | sort |uniq -c |  awk '{if ($1 > 100) print $0}' | less            
        #
cat access_log |awk '{print $7}'| sort | uniq -c | awk '{if($1>100) print $0}' | less                                                                   
查看最近1万条访问中最高的页面

#cat access_log |tail -10000|awk '{print $7}'|sort|uniq -c|sort -nr|less                    


?前五天的访问次数最多的网页
#cat access_log|awk '{print $7}'|uniq -c |sort -n -r|head -20

或者

awk '{print $11}' access_log | sed 's/^.*cn\(.*\)\"/\1/g' | sort | uniq -c | sort -rn | head

awk 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值