• Apache/Nginx/IIS 访问日志详解


    Apache日志详解

    1.Apache日志文件名称及所在路径

      日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径。

      例如phpstudy(windows)在 :phpstudy/Extensions/apache/logs;

        wdcp(linux)在 :www/wdlinux/apache/logs 。

      Apache日志文件一般分为访问日志access.log和错误日志error.log。如果使用了SSL服务的话,还可能存在:ssl_access.log/ssl_error.log/ssl_request.log。  

    2.Apache访问日志各个字段内容解析

      访问日志access.log记录了所有对web服务器访问活动,下面是一个记录的示例

    192.168.33.138 - - [14/Apr/2020:22:52:20 +0800] "GET /pikachu-master/assets/font-awesome/4.5.0/css/font-awesome.min.css HTTP/1.1" 200 27466

     日志各字段代表内容:

    1.远程主机IP(192.168.33.138):代表访问网站的IP地址。

    2.空白(-)Email:为了避免用户的邮箱被垃圾邮件骚扰。

    3.空白(-)登录名:用于记录浏览者进行身份验证时提供的名字。

    4.请求时间([14/Apr/2020:22:52:20 +0800]):访问时间和日期,用方括号包裹,采用公用日志格式,最后+0800代表服务器所处时区位于URC之后的8个小时。

    5.方法+资源+协议("GET /pikachu-master/assets/font-awesome/4.5.0/css/font-awesome.min.css HTTP/1.1"):典型格式为 method+resource(URI)+protocol,比如这里method是get请求;请求的文件用URI标识,这里请求的是一个.css文件;protocol为HTTP协议1.1版本

    6.状态码(200):标识响应状态,一般分为4类。

      2xx:成功

      3xx:重定向

      4xx:访问错误,一般为客户端问题

      5xx:访问错误,一般为服务器问题

     7.发送字节数(27466):表示发送给客户端的字节数。告诉我们传输是否被打断。

    3.Apache错误日志各个字段内容解析

      错误日志内容格式和访问日志不同,一般用于分析服务器的运行情况。

      错误日志一般分为两类:文档错误和CGI错误

      下面给一个error.log例子

    [Fri Aug 18 22:36:26 2000] [error]
    [client 192.168.1.6] File does not exist:
    /usr/local/apache/bugletdocs/Img/south-korea.gif

    1.错误记录开头是时间和日期

    2.错误的级别和严重性

    3.导致错误的IP地址

    4.关于错误的详细信息

    Nginx访问日志分析

      

      1.Nginx默认日志存放的路径

        例如phpstudy(windows)在 :phpstudy/Extensions/Nginx/logs;

          wdcp(linux)在 :www/wdlinux/Nginx/logs 。

      2.Nginx访问日志默认格式:

               log_format main '$remote_addr - - $remote_user [$time_local] "$request" '

                                          '$status $body_bytes_sent "$http_referer" '

                                          '"$http_user_agent"    "$http_x_forwarded_for" ';

      示例:

    127.0.0.1 - - [17/Apr/2020:22:55:48 +0800] "GET /wordpress HTTP/1.1" 301 170 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"

    1.remote_addr(127.0.0.1):远程主机IP

    2.空白(-)Email:为了避免用户的邮箱被垃圾邮件骚扰。

    3.空白(-)登录名:用于记录浏览者进行身份验证时提供的名字。

    4.remote_user[$time_local]([17/Apr/2020:22:55:48 +0800]):访问时间和日期,用方括号包裹,采用公用日志格式,最后+0800代表服务器所处时区位于URC之后的8个小时。

    5."$request"("GET /wordpress HTTP/1.1"):请求方法,资源,协议。

    6.body_bytes_sent(170):发送字节数

    7.http_referer(-):referer

    8.http_user_agent(Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0):也就是HTTP Header中对应的UA,包含浏览器信息,访问者的操作系统,版本等。

    IIS访问日志分析

    1.IIS访问所在路径:

      在控制面板中打开IIS服务器,找到想要查看日志的网站,右键属性---->找到启用日志那里单击属性

      

     之后找到对应的文件即可

    日志文件中有4个前缀:

      s- :服务器操作

      c- :客户端操作

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

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

    2.IIS访问日志示例:

    2020-04-11 14:38:13 W3SVC219663584 192.168.33.138 GET /Default.asp - 8003 - 192.168.33.138 Mozilla/5.0+(Windows+NT+5.2;+rv:17.0)+Gecko/20100101+Firefox/17.0 404 2 0

    1.date(2020-04-11):表示记录访问日期

    2.time(14:38:13):表示访问时间

    3.s-sitename(W3SVC219663584):客户端所访问的该站点的Internet服务和实例的号码。

    4.s-ip(192.168.33.138):服务器IP

    5.cs-method(GET):请求方法

    6.cs-uri-stem(/Default.asp):访问的URI资源,也就是访问的哪个文件

    7.cs-uri-query(-):访问地址的附带参数,如asp文件?后面的字符串id=12等等,如果没有参数则用-表示

    8.s-port(8003):访问的服务器端口

    9.cs-username(-):对于通过身份验证的用户,格式是“域用户名”;对于匿名用户,是一个连字符 (-)

    10. c-ip(192.168.33.138): 访问服务器的客户端 IP 地址。(已过滤掉中间各种IP,是真实的客户端IP)

    11.cs(User-Agent):在客户端使用的浏览器等信息

    12.sc-status(404):状态码

    13.sc-substatus(2):跟数据缓存有关

    14.cs–win32-statu(0):客户端传送到服务端的字节大小

  • 相关阅读:
    JavaScript中的方法和属性
    vue的计算属性与方法的不同
    vue 中使用 watch 出现了如下的报错
    vue中methods函数调用methods函数写法
    ES2015箭头函数与普通函数对比理解
    leetcode Single Number python
    leetcode first bad version python
    leetcode Search for a Range python
    leetcode Longest Valid Parentheses python
    python dict traversal
  • 原文地址:https://www.cnblogs.com/Zh1z3ven/p/12726151.html
Copyright © 2020-2023  润新知