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

    

原文地址:https://www.cnblogs.com/mxm0117/p/12745514.html