apache、iis、nginx日志记录的各个字段内容与含义。
2021-03-20 19:25
标签:anon 存储 文本编辑 logs 时区 简单 单位 文本编辑器 ref Apache日志 访问日志access_log记录了所有对Web服务器的访问活动,下面是访问日志access_log中的一个标准记录 192.168.43.117 - - [01/Apr/2018:10:37:19 +0800] "GET / HTTP/1.1" 200 45 日志字段所代表的内容如下: 1.远程主机IP:表明访问网站的是谁 2.空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了 3.空白(登录名):用于记录浏览者进行身份验证时提供的名字。 4.请求时间:用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。 5.方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。 METHOD: GET、POST、HEAD、…… 6.状态代码:请求是否成功,或者遇到了什么样的错误。成功是200,它表示服务器已经成功地响应浏览器的请求,一切正常。 7.发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。 错误日志的文件名字是error_log(Windows平台是error.log)。 定制日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令。默认httpd.conf文件提供了关于这两个指令的几个示例。 LogFormat "%h %l %u %t \"%r\" %>s %b" common 该指令创建了一种名为“common”的日志格式,日志的格式在双引号包围的内容中指定。格式字符串中的每一个变量代表着一项特定的信息,这些信息按照格式串规定的次序写入到日志文件。 Apache文档已经给出了所有可用于格式串的变量及其含义,下面是其译文: %…a: 远程IP地址 %…A: 本地IP地址 %…B: 已发送的字节数,不包含HTTP头 %…b: CLF格式的已发送字节数量,不包含HTTP头。 例如当没有发送数据时,写入‘-’而不是0。 %e: 环境变量FOOBAR的内容 %…f: 文件名字 %…h: 远程主机 %…H 请求的协议 %i: Foobar的内容,发送给服务器的请求的标头行。 %…l: 远程登录名字(来自identd,如提供的话) %…m 请求的方法 %n: 来自另外一个模块的注解“Foobar”的内容 %o: Foobar的内容,应答的标头行 %…p: 服务器响应请求时使用的端口 %…P: 响应请求的子进程ID。 %…q 查询字符串(如果存在查询字符串,则包含“?”后面的 部分;否则,它是一个空字符串。) %…r: 请求的第一行 %…s: 状态。对于进行内部重定向的请求,这是指*原来*请求 的状态。如果用%…>s,则是指后来的请求。 %…t: 以公共日志时间格式表示的时间(或称为标准英文格式) %t: 以指定格式format表示的时间 %…T: 为响应请求而耗费的时间,以秒计 %…u: 远程用户(来自auth;如果返回状态(%s)是401则可能是伪造的) %…U: 用户所请求的URL路径 %…v: 响应请求的服务器的ServerName %…V: 依照UseCanonicalName设置得到的服务器名字 iis日志 1、iis日志文件名称及路径介绍 IIS日志,主要用于记录用户和搜索引擎蜘蛛对网站的访问行为。IIS日志中,包括客户端访问时间、访问来源、来源IP、客户端请求方式、请求端口、访问路径及参数、Http状态码状态、返回字节大小等信息。Windows2003环境中,IIS日志默认存储路径:C:\WINDOWS\system32\LogFiles\ ,在LogFiles文件夹下,存在多个IIS日志文件夹,每个IIS日志文件夹对应一个站点日志。当然IIS日志文件存储位置也可以根据自己的实际情况,在IIS管理器中重新设定。 2、iis访问日志格式 如图下面是我自己的一个访问日志记录
如图我的是iis6.0 ,版本是1.0,日志日期是2020-04-14 13:39:38 下面是相关组成参数解释 date:发出请求时候的日期。 time:发出请求时候的时间。注意:默认情况下这个时间是格林威治时间,比我们的北京时间晚8个小时 s-sitename:服务名,记录当记录事件运行于客户端上的Internet服务的名称和实例的编号。 s-ip:服务器的IP地址。 cs-method:请求中使用的HTTP方法,GET/POST。 cs-uri-stem:URI资源,记录做为操作目标的统一资源标识符(URI),即访问的页面文件。 cs-uri-query:URI查询,记录客户尝试执行的查询,只有动态页面需要URI查询,如果有则记录,没有则以连接符-表示。即访问网址的附带参数。 s-port:为服务配置的服务器端口号。 cs-username:用户名,访问服务器的已经过验证用户的名称,匿名用户用连接符-表示。 c-ip:客户端IP地址。 sc-status:协议状态,记录HTTP状态代码,200表示成功,403表示没有权限,404表示找不到该页面,是自己(客户端自己输入的问题),502表示服务端错误。 sc-substatus:协议子状态,记录HTTP子状态代码。 sc-win32-status:Win32状态,记录Windows状态代码。 有些日志记录中可能还有这些参数 sc-bytes:服务器发送的字节数。 cs-bytes:服务器接受的字节数。 time-taken:记录操作所花费的时间,单位是毫秒。 cs-version:记录客户端使用的协议版本,HTTP或者FTP。 s-computername:服务器的名称。 s-port:为服务配置的服务器端口号。 nginx日志 Nginx的访问日志默认存放在nginx安装目录的logs目录下,具体位置可在nginx.conf中或者nginx安装目录下的conf/vhosts/目录中的站点配置文件**.conf 中进行指定 各个格式参数的含义: MISS 为方便可读性,通常可以使用第三方分析工具来进行分析,如不使用第三方分析工具,或无法满足需求,可将原始数据进行简单处理即可在Excel中进行统计分析。以IIS服务器日志为例: apache、iis、nginx日志记录的各个字段内容与含义。 标签:anon 存储 文本编辑 logs 时区 简单 单位 文本编辑器 ref 原文地址:https://www.cnblogs.com/escwq/p/12732969.html
RESOURCE: /、index.html、/default/index.php、……(请求的文件)
PROTOCOL: HTTP+版本号定义日志格式及格式串变量含义详解
LogFormat指令:定义日志格式并为它指定一个名字,以后就可以直接引用这个名字。
CustomLog指令:设置日志文件,并指明日志文件所用的格式(通常通过格式的名字)。
LogFormat指令在默认的httpd.conf文件中,我们可以找到下面这行代码:
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)
如何分析网站日志?
上一篇:html加入倒计时
文章标题:apache、iis、nginx日志记录的各个字段内容与含义。
文章链接:http://soscw.com/index.php/essay/66836.html