Apache、Nginx、IIS日志记录的各个字段内容与含义

一、Apache日志

1、Apache文件名称及所在路径

日志文件一般都是保存在在apache/logs目录下,实际情况可以根据Apache的配置文件去查找日志文件所在的路径。当我们安装并启动Apache后,Apache会自动生成两个日志文件,这两个日志文件分别是访问日志access_log(在Windows上是access.log)和错误日志error_log(在Windows上是error.log)。如果使用 SSL 服务的话,还可能存在 ssl_access_log和ssl_error_log 和 ssl_request_log 三种日志文件。

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

 例:192.168.10.246 - - [15/Mar/2020:19:56:47 +0800] "GET /pikachu-master/assets/js/jquery.flot.pie.min.js HTTP/1.1" 200 10452

日志各字段代表内容:

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

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

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

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

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

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

  2xx:成功

  3xx:重定向

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

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

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

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

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

 例:[Sun Mar 15 19:56:45 2020] [error] [client 192.168.10.246] File does not exist: C:/phpStudy/WWW/favicon.ico

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

2.错误的级别和严重性

3.导致错误的IP地址

4.关于错误的详细信息

 二、Nginx 日志

1、Nginx日志文件路径

Nginx日志主要分为两种:访问日志和错误日志。日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的。

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服务器,找到想要查看日志的网站,右键属性---->找到启用日志那里单击属性

 之后找到对应的文件即可

2、IIS访问日志各个字段内容解析

日志文件中有4个前缀:

  s- :服务器操作

  c- :客户端操作

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

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

示例:

2020-04-17 02:28:15 W3SVC152577220 192.168.10.246 GET /images/ershou.swf - 8008 - 192.168.10.246 Mozilla/5.0+(Windows+NT+5.2;+rv:17.0)+Gecko/20100101+Firefox/17.0 200 0 0

2.time(2020-04-17 02:28:15):表示访问时间

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

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

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

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

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

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

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

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

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

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

       2xx:成功

  3xx:重定向

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/heiwa-0924/p/12741457.html