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中關於日誌格式的設置:

<IfModule log_config_module>

    #

    # 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

 

    <IfModule logio_module>

      # 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

    </IfModule>

 

    #

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

    # If you do not define any access logfiles within a <VirtualHost>

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

    # define per-<VirtualHost> 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下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章