正常日志格式:客户端地址 访问者的标识 访问者的验证名字 请求的时间 请求类型 请求的HTTP代码 发送给客户端的字节数
 
当网站出问题时分析日志,第一步一般都不会是看访问日志。但是也不能忽视它,在访问日志中记录了很多的客户信息,如果你有心,可以从这个日志中获得很多有用的信息!
访问日志access_log记录了所有对Web服务器的访问活动。
正如其名字所示,访问日志access_log记录了所有对Web服务器的访问活动。
  下面是访问日志中一个典型的记录:
10.1.1.95 - e800 [18/Mar/2005:12:21:42 +0800] "GET /stats/awstats.pl?config=e800 HTTP/1.1" 200 899 "http://10.1.1.1/pv/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)"
 
  这行内容由9项构成,上面的例子中有两项空白,但整行内容仍旧分成了9项。
   第一项信息是远程主机的地址。如果你想知道这个IP地址的域名,可通过nslookup或者host命令来查看。如果你想让Apache自己找出这个IP 的主机名,可以打开这个开关:HostnameLookups。(建议最好不要打开,会影响Apache记录服务器日志的速度)
 
   第二项是空白,用一个"-"占位符替代。实际上绝大多数时候这一项都是如此。这个位置用于记录浏览者的标识,这不只是浏览者的登录名字,而是浏览者的 email地址或者其他唯一标识符。这个信息由identd返回,或者直接由浏览器返回。很早的时候,那时Netscape 0.9还占据着统治地位,这个位置往往记录着浏览者的email地址。然而,由于有人用它来收集邮件地址和发送垃圾邮件,所以它未能保留多久,很久之前市 场上几乎所有的浏览器就取消了这项功能。因此,到了今天,我们在日志记录的第二项看到email地址的机会已经微乎其微了。
 
  第三项也是e800。这个位置用于记录浏览者进行身份验证时提供的名字。当然,如果网站的某些内容要求用户进行身份验证,那么这项信息是不会空白的。但是,对于大多数网站来说,日志文件的大多数记录中这一项仍旧是空白的。
  日志记录的第四项是请求的时间。这个信息用方括号包围,而且采用所谓的"公共日志格式"或"标准英文格式"。因此,上例日志记录表示请求的时间是2005年3月18日12:21:42。时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时。
 
  日志记录的第五项信息或许是整个日志记录中最有用的信息,它告诉我们服务器收到的是一个什么样的请求。该项信息的典型格式是"METHOD RESOURCE PROTOCOL",即"方法 资源 协议"。
 
   RESOURCE是指浏览者向服务器请求的文档,或URL。在这个例子中,浏览者请求的是"/stats/awstats.pl?config=e800 "。
 
   在上例中,METHOD是GET,其他经常可能出现的METHOD还有POST和HEAD。此外还有不少可能出现的合法METHOD,但主要就是这三种。
   
   PROTOCOL通常是HTTP,后面再加上版本号。
  
   日志记录的第六项信息是状态代码。它告诉我们请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的 请求,一切正常。一般地说,以2开头的状态代码表示成功,以3开头的状态代码表示由于各种不同的原因用户请求被重定向到了其他位置,以4开头的状态代码表 示客户端存在某种错误,以5开头的状态代码表示服务器遇到了某个错误。
  
   日志记录的第七项表示发送给客户端的总字节数。它告诉我们传输是否被打断(即,该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。
  日志记录的第八项记录的是客户在提出请求时所在的目录或URL。这次的是"http://10.1.1.1/pv/"即10.1.1.1的pv目录下的首页。大多数情况下,首页会是在httpd.conf中DocumentRoot 指令后面规定的那些类型和名字的web文件。
   日志记录的第九项表示客户端的详细信息,这样你就不难理解为什么有些网站能够在页面中显示你的IP、OS、Browser了。
 
 
错误日志格式:
 
说明:
       如果用户把错误日志设置成warn级别,则严重程度由1~5的所有错误信息都会被记录下来。

apache的日志access_log分析的更多相关文章

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

    一.解析访问日志        apache 的访问日志记载着大量的信息,学会高效快捷的读出其中关键信息对我们的工作有极大帮助.       如果Apache的安装方式是默认安装,服务器一运行就会有两 ...

  2. 如何分析apache日志[access_log(访问日志)和error_log(错误日志)]

    如何分析apache日志[access_log(访问日志)和error_log(错误日志)] 发布时间: 2013-12-17 浏览次数:205 分类: 服务器 默认Apache运行会access_l ...

  3. Python基础(三):简化除法判断、分析apache访问日志、扫描存活主机、利用多线程实现ssh并发访问

    一.简化除法判断 目标: 编写mydiv.py脚本,主要要求如下: 提示用户输入一个数字作为除数 如果用户按下Ctrl+C或Ctrl+D则退出程序 如果用户输入非数字字符,提示用户应该输入数字 如果用 ...

  4. 【Apache运维基础(6)】Apache的日志管理与分析

    简述 Apache 访问日志在实际工作中非常有用,比较典型的例子是进行网站流量统计,查看用户访问时间.地理位置分布.页面点击率等.Apache 的访问日志具有如下4个方面的作用: 记录访问服务器的远程 ...

  5. elk系列8之logstash+redis+es的架构来收集apache的日志

    preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的, 架构图如下: 解释下这个架构图的流程 首先前端lo ...

  6. Apache的Access.log分析总结

    Apache的Access.log分析总结 #查看80端口的tcp连接  #netstat -tan | grep "ESTABLISHED" | grep ":80&q ...

  7. 解决Apache的错误日志巨大的问题以及关闭Apache web日志记录

    调整错误日志的级别 这几天 apache错误日志巨大 莫名其妙的30G  而且 很多都是那种页面不存在的  网站太多了  死链接相应的也很多于是把错误警告调低了 因为写日志会给系统带来很大的损耗.关闭 ...

  8. 使用cronolog自动分割apache的日志。

    为了方便分析网站的日志,需要将apache的日志按周来分割,网上搜索了下,cronolog可以完成这个功能,实际操作了下,操作过程中参考了这篇文章(http://www.lampbo.org/linu ...

  9. elk系列8之logstash+redis+es的架构来收集apache的日志【转】

    preface logstash--> redis --> logstash --> es这套架构在讲究松耦合关系里面是最简单的,架构图如下: 解释下这个架构图的流程 首先前端log ...

随机推荐

  1. js函数事件对象

    每个函数都有4个默认对象 arguments 保存着实际传入的参数,集合列表 return 有两个功能,打断函数和返回函数值 this 谁调用的函数,this就是谁 event 事件对象 事件 box ...

  2. Quartz.NET教程:(01) 使用Quartz

    使用调度器 (scheduler) 之前要先用 ISchedulerFactory 的一个实现来实例化调度器(scheduler).一旦调度器实例化完成,则它可以被启动.置于备用模式或者关闭.需要注意 ...

  3. Android广播接收器里弹出对话框

    不多说,直接上车... public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(fina ...

  4. centos 6.5 安装mplayer

    https://centos.pkgs.org/6/linuxtech/mplayer-1.0.4-3.el6.x86_64.rpm.html

  5. C++ 利用栈解决运算问题

    2017-06-27 19:19:18 第一步需要将中缀表达式转为后缀表达式.这步的转化可以说是本题的核心. 主要的转化手段是利用栈,有如下几个规则: 数字直接输出 "("直接进栈 ...

  6. ubuntu , 笔记本合上盖子时不关机的方法。

    实测ubuntu 14.04 好使 1) 编辑 /etc/systemd/logind.conf 2) 找到 HandleLidSwitch 设置,去掉行头注释#,然后改成下面这样 HandleLid ...

  7. 雷林鹏分享:C# 特性(Attribute)

    C# 特性(Attribute) 特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签.您可以通过使用特性向程序添加声明性信息.一个声明 ...

  8. 关于C和C++

    最开始学的就是C和C++,但只是学过,根本就不知道怎么使用. 后来接触了Python和Perl才知道怎么将编程应用于实际需求当中,读取文件,存放到数据结构,处理,输出. 但脚本语言有其固有的缺点,不能 ...

  9. (Gorails)vuejs系列视频: Webpacker/vue-resource(不再为官方推荐)。

    频:https://gorails.com/episodes/using-vuejs-for-nested-forms-part-1?autoplay=1 在嵌套表格上使用vue.js. 在appli ...

  10. Jersey 2.x 分支 Java SE 兼容性

    直到 Jersey 2.6 版本,Jersey 将会兼容 Java SE 6.这个情况将会在在 Jersey 2.7 的版本有所改变. 直到 Jersey 版本 2.25x, 所有的 Jersey 的 ...