IIS 和Apache 日志分析

日志作为性能需求的依据以及性能分析的基础,起着重要的作用。偶是菜鸟级别,一切从基础开始。以下是IIS以及Apache日志相关的一些资料,仅作记录,以便后来查阅。

 

日志分析

定义测试目标过程中,需要通过结构方面获得系统的性能需求:

1.通过用户提供的数据进行分析

2.通过系统日志。当进行旧系统升级的时候,历史数据即系统日志的方式是获得真实用户需求最有效的参考数据。作为常用的Web服务器IIS或者Apache,当用户通过客户端发送请求到Web服务器的时候,IIS或者Apache都会在访问日志中记录下来。

IIS默认支持4中日志格式:Microsoft IIS日志文件格式,NCSA共用日志文件格式,W3C扩展日志文件格式,ODBC日志记录。如果使用IIS作为Web服务器,建议使用W3C扩展日志文件格式。

Apache服务器的访问日志格式支持自定义,打开Apache下的httpd.conf文件,使用LogFormat命令来查找系统默认的日志格式,也可以自定义需要的日志格式。以下为httpd.conf中关于日志格式的设置:

    #

    # The following directives define some format nicknames for use with

    # a CustomLog directive (see below).

    #

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

    LogFormat "%h %l %u %t \"%r\" %>s %b" common

 

   

      # You need to enable mod_logio.c to use %I and %O

      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

   

 

    #

    # The location and format of the access logfile (Common Logfile Format).

    # If you do not define any access logfiles within a

    # container, they will be logged here.  Contrariwise, if you *do*

    # define per- access logfiles, transactions will be

    # logged therein and *not* in this file.

    #

CustomLog "logs/access.log" common

以下为access.log中一条记录

127.0.0.1 - frank [07/Jun/2011:21:18:40 +0800] "GET /appach_pb.gif  HTTP/1.1" 200 2326

127.0.0.1(%h)

记录发送请求到服务器的客户IP地址。如HostnameLookups设为On,则服务器会尝试解析这个IP地址的主机名并替换此处的IP地址,但不建议这样做,他会明显拖慢服务器,最好使用一个日志后续处理器来判断主机名。如果客户和服务器之间存在代理,那么记录中的这个IP地址就是代理的IP地址。

-(%l)

这是由客户端identd进程判断RFC1413身份,输出符号“-”代表此处的信息无效。除非在严格控制的内部网格中,此信息通常很不可靠,不应该被使用,只有在将IdentityCheck指令设置为On的时候,Appache才会试图得到这项信息。

frank(%u)

这是HTTP认证系统得到的访问该网页的客户标识(userid),环境变量REMOTE_USER会被设为该值并提供给CGI脚本。如果状态码是401,表示客户未通过认证。如果网页没有设置密码保护,此项将是“-”。

[07/Jun/2011:21:18:40 +0800]这是服务器完成请求处理时的时间,其格式:【日/月/年:时:分:秒 时区】

"GET /appach_pb.gif  HTTP/1.1" (\“%r\”)

引号中是客户端发出的包含许多有用信息的请求行。另外,格式字符串“%m%U%q%H”会记录动作,路径,查询字符串,协议,其输出和“%r”一样

200(%>s)指服务器返回给客户的状态码

2326(%b)最后这项是返回给客户端的不包含响应头的字节数。如没有信息返回,则此项应该是“-”,如果希望记录为“0”,就应该用%B

首先使用LogFormat命令LogFormat“%h%l%u%t\”%r\”%>s%b”common定义日志格式,然后通过Customlog命令CustomLog”c:/logs/access.log”common为日志设置存放的地址。

 

日志分析工具WebLog Expert

IIS日志默认存放在inetpub\logs\LogFiles下

你可能感兴趣的:(Web服务器)