本章节主要讲解“性能测试系统学习教程—access_log日志文件”的部分,access_log日志文件主要是记录客户端访问服务器的所有请求信息。access_log日志文件所在位置由customLog指令设置,其指令语法如下:
CustomLog "logs/access_log" common
设置access_log日志文件格式可以使用LogFormat指令,日志的格式设置参数如下:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
日志格式设置有两种:common和combined。一般我们使用的是默认的common格式。
上面是日志记录内容的格式定义,格式是由百分号和相关指令组成,每个指令都表示服务器的一条特定的日志信息,文字字符也以字符串复制到日志输出中,如果要表示引号字符必须使用反斜杠进行转义,以防止将其解释为格式字符串的结尾。
common格式的日志内容如下:
192.168.40.134 - - [19/Oct/2019:16:23:19 +0800] "GET /ecshop3/images/201605/thumb_img/62_thumb_G_1462952557730.jpg HTTP/1.1" 200 2064
192.168.40.134 - - [19/Oct/2019:16:23:19 +0800] "GET /ecshop3/data/afficheimg/1462958213922967180.jpg HTTP/1.1" 200 158999
日志内容各部分的含义如下:
192.168.40.134(%h)
表示向服务器发出请求的客户端(远程主机)的IP地址。如果将HostnameLookups指令设置为On,那么这个内容可能为主机名,而非IP地址。但是,不建议使用此配置,因为它会显著降低服务器的速度。相反,最好使用日志后处理器(如logresolve)来确定主机名。
需要注意的是我们看到日志文件内容中的IP地址不一定是用户所在机器的地址。如果在用户和服务器之间存在代理服务器,则该地址将是代理的地址,而不是始发机器的IP地址。
- (%l)
输出中出现的“-”字符,是连字符的意思,表示请求的信息不可用,这是由客户机的RFC 1413同身的一些特性标识的,这种信息是很不可靠的,但是如果将IdentityCheck设置为On,那么apache服务器才会尝试去确定此信息。
- (%u)
这是访问服务器的用户ID,这个ID是由HTTP身份验证来确定的,这个值一般是保存到远程用户环境变量中的CGI脚本中。如果服务器不信任此值,因为用户尚未通过身份验证。如果文档不受密码保护,则此部分将与前一部分一样为“-”。
[19/Oct/2019:16:23:19 +0800] (%t)
表示访问服务器时,服务器的时间。+0800表示服务器所处时区位于UTC之后的8小时。
GET /ecshop3/images/201605/thumb_img/62_thumb_G_1462952557730.jpg HTTP/1.1(\"%r\")
表示访问服务器的资源的相关信息,包括请求方式、服务器资源位置、客户端向服务器发送请求时的协议和协议版本信息。
200 (%>s)
这表示客户端请求服务器后返回的状态码,此信息非常有价值,它揭示了请求是否成功以及失败的。关于HTTP响应状态码的详细可以查看HTTP规范RFC2616第10节内容。
2064(%b)
表示服务器发送给客户端的字节数,但这个字节数,不包括响应头的信息,如果服务器没有向客户端发送任何内容,则该值为“-”,若记录为0则表示不记录任何内容。
Combined 格式的日志内容如下:
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
Combined 日志内容与common日志内容信息差不多,只是多出了以下两个字段:
"http://www.example.com/start.html"(\"%{Referer}i\")
表示客户端所访问资源的引用站点。如实例中表示是所访问资源apache_pb.gif的链接或包含apache_pb.gif的页面。
"Mozilla/4.08 [en] (Win98; I ;Nav)"(\"%{User-agent}i\")
表示发送HTTP请求的客户端自身的标识信息。
本章节关于“性能测试系统学习教程—access_log日志文件”的内容就学习到这里,大家觉得有用的话记得每天来这里和小编一起学习涨薪技能哦。