• apache、nginx、iis日志记录的各个字段内容与含义


    Apache日志详解:

    • Apache日志文件名称及路径介绍

        当我们安装并启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access_log(在windows上是access.log)和错误日志error_log(在Windows上是error.log)。日志文件的路径根据安装方式不同位置也是不一样的,一般都在Apache安装目录的logs子目录中,日志文件路径可根据实际安装情况在Apache的配置文件中查找。

    • Apache访问日志格式详解

        访问日志access.log记录了所有对Web服务器的访问活动,下面是访问日志access.log中的一个标准记录

               

    1.  远程主机IP:表明访问网站的是谁
    2. 空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,用“-”代替
    3. 空白(登录名):用于记录浏览者进行身份验证时提供的名字         method resource protocol
    4. 请求时间:用[]包围,而且采用“公用日志格式”或者“标准英文格式”。时间信息最后的“+0800”表示服务器所处的时区位于UTC之后的8小时
    5. 方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法+资源+协议”

        METHOD:get、post、head......

        RESOURCE:/、index.html、/default/index.php.......(请求的文件)

        PROTOCOL:HTTP+版本号

         6.状态代码:请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地相应浏览器地请求,一切正常

         7.发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或一个月内发送了多少数据。

    • Apache访问日志配置

    1. 访问日志格式分类

        apache中日志记录格式主要有两种,普通型(common)和复合型(combined),安装时默认使用普通型(common)类型日志记录访问信息。

        2. 配置Apache访问日志格式命令及参数

        配置Apache访问日志格式主要有两个参数,即LogFormat指令和CustomLog指令。 

        LogFormat指令:定义格式并为格式指定一个名字,以后我们就可以直接引用这个名字。

        CustomLog指令:设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。

    • Apache日志的定制

        有时候我们需要定制Apache默认日志的格式和内容,比如增加或减少日志所记录的信息、改变默认日志文件的格式等。

        Apache日志格式串的变量及其含义:

          %a: 远程IP地址
          %A: 本地IP地址
          %B: 已发送的字节数,不包含HTTP头
          %b: CLF格式的已发送字节数量,不包含HTTP头。例如当没有发送数据时,写入‘-’而不是0。
          %{FOOBAR}e: 环境变量FOOBAR的内容
          %f: 文件名字
          %h: 远程主机
          %H 请求的协议
          %Foobar}i: Foobar的内容,发送给服务器的请求的标头行。
          %l: 远程登录名字(来自identd,如提供的话)
          %m: 请求的方法
          %{Foobar}n: 来自另外一个模块的注解“Foobar”的内容
          %{Foobar}o: Foobar的内容,应答的标头行
          %p: 服务器响应请求时使用的端口
          %P: 响应请求的子进程ID。
          %q: 查询字符串(如果存在查询字符串,则包含“?”后面的部分;否则,它是一个空字符串。)
          %r: 请求的第一行
          %s: 状态。对于进行内部重定向的请求,这是指原来请求的状态。如果用%...>s,则是指后来的请求。
          %t: 以公共日志时间格式表示的时间(或称为标准英文格式)
          %{format}t: 以指定格式format表示的时间
          %T: 为响应请求而耗费的时间,以秒计
          %u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的)
          %U: 用户所请求的URL路径
          %v: 响应请求的服务器的ServerName
          %V: 依照UseCanonicalName设置得到的服务器名字

    Nginx日志详解:

      Nginx的访问日志默认存放在nginx安装目录的logs目录下,具体位置可在nginx.conf中或者nginx安装目录下的conf/vhosts/目录中的站点配置文件**.conf 中进行指定。

    • 各个参数的含义: 

        time_local: 访问的时间与时区,比如18/Jul/2012:17:00:01 +0800,时间信息最后的"+0800"表示服务器所处时区位于UTC之后的8小时

        $request_time:整个请求的总时间,以秒为单位

        $status:记录请求返回的http状态码,比如成功是200。

        $uptream_status:upstream状态,比如成功是200.

        $body_bytes_sent:发送给客户端的文件主体内容的大小,比如899,可以将日志每条记录中的这个值累加起来以粗略估计服务器吞吐量

        $remote_addr:远程客户端的IP地址。

        $request:请求的URI和HTTP协议,这是整个PV日志记录中最有用的信息,记录服务器收到一个什么样的请求

        $http_referer:记录从哪个页面链接访问过来的(请求头Referer的内容 )

        $http_user_agent:客户端浏览器信息(请求头User-Agent的内容 )

        $http_x_forwarded_for:客户端的真实ip,通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通 过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加 x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。

        $upstream_cache_status

                  MISS
                    EXPIRED - expired, request was passed to backend
                    UPDATING - expired, stale response was used due to proxy/fastcgi_cache_use_stale updating
                    STALE - expired, stale response was used due to proxy/fastcgi_cache_use_stale
                    HIT - (dash) - request never reached to upstream module. Most likely it was processed at Nginx-level only (e.g. forbidden, redirects, etc) (Ref: Mail Thread)

        • $upstream_response_time 请求过程中,upstream的响应时间,以秒为单位
        • $uptream_status:upstream状态,比如成功是200.
        • $upstream_addr:upstream的地址,即真正提供服务的主机地址
        • $remote_user:远程客户端用户名称,用于记录浏览者进行身份验证时提供的名字,如登录百度的用户名scq2099yt,如果没有登录就是空白。

    iis日志详解:

    • iis日志字段:

       

        日志的主体是一条一条的请求信息,请求信息的格式是由#Fields定义的,每个字段都有空格隔开。

        若是重启进程,则这四行会再记录一次。

    • 前缀含义:

        s-:服务器操作

        c-:客户端操作

        cs:客户端到服务器的操作

        sc-:服务器到客户端的操作

    • 各个字段的含义:

        data:日期  2020-04-21

        time:时间  16:27:11+8小时

        s-sitename:服务名  W3SVC2

        s-computername:服务器名  VMS01487

        s-ip:服务器ip  10.8.2.174

        cs-method:方法  GET/POST

        cs-url-query:访问的查询字符串  from=beijingxi&to=xinxiang2&day=1&number=&fromCn=%B1%B1%BE%A9&toCn=%D0%C2%CF%E7

        cs-url-stem:请求访问的页面   /TrainBooking/Search.aspx

        s-port:服务器端口  80

        cs-ip:客户端ip  120.71.108.114

        cs-version:协议版本  HTTP/1.1

        cs(User-Agent):用户代理  Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.1;+Trident/4.0;+QQDownload+718)

        cs(Cookie):cookie

        cs(Referce):引用站点  

        cs-host:主机  trains.xxx.com(有时直接访问服务器IP,10.8.2.174)

        cs-status:协议返回状态  200

        cs-substatus:Http子协议的状态  0

        sc-win32-status :Win32® 状态

        sc-bytes:服务器发送的字节数  87682

        cs-bytes:服务器接收的字节数  1324

        time-taken:所用时间  187

        

  • 相关阅读:
    Python-操作符与基本数据类型
    初识Python
    HDU 1166 敌兵布阵(线段树求sum)
    HDU 1754 I Hate It(线段树求max)
    HDU 1176 免费馅饼
    HDU 1466 计算直线的交点数
    HDU 1506 Largest Rectangle in a Histogram(最大矩形面积)
    AYOJ 单词接龙(搜索)
    AYOJ 传球游戏(递推)
    AYOJ 方格取数(多进程DP)
  • 原文地址:https://www.cnblogs.com/mxm0117/p/12745514.html
Copyright © 2020-2023  润新知