在安裝期間,會為伺服器建立一個名稱為 access 的存取記錄檔。透過指定是否要記錄存取、要使用的記錄格式,以及伺服器是否應在用戶端存取資源時花費時間查詢它們的網域名稱,您可以為任何資源自訂存取記錄。
您可以使用 Server Manager 中的 [Set Access Log Preferences] 頁面來指定記錄喜好設定,也可以手動配置 obj.conf 檔案中的指令。在 obj.conf 中,伺服器會呼叫函數 flex-init 來初始化彈性記錄系統,並呼叫函數 flex-log 以彈性記錄格式記錄請求特定的資料。若要使用共用記錄檔格式來記錄請求,伺服器會呼叫 init-clf 來初始化 obj.conf 中使用的「共用記錄」子系統,並呼叫 common-log 以大多數 HTTP 伺服器使用的共用記錄格式來記錄請求特定的資料。
一旦建立了資源的存取記錄,您便無法變更其格式,除非將其歸檔或為該資源建立新的存取記錄檔。
表 9–2 Administration Server 的記錄檔格式
記錄格式項目 |
說明 |
---|---|
Client Hostname |
請求存取的用戶端主機名稱 (如果已停用 DNS,則為 IP 位址)。 |
Authenticate User Name |
如果需要進行認證,您可以在存取記錄中列出通過認證的使用者名稱。 |
System Date |
用戶端請求的日期與時間。 |
Full Request |
用戶端發出的確切請求。 |
Status |
伺服器傳回用戶端的狀態碼。 |
Content Length |
傳送給用戶端的文件內容長度 (以位元組為單位)。 |
HTTP Header, “referer” |
參考指定一個頁面,用戶端從此頁面存取目前頁面。例如,如果使用者是從文字搜尋查詢查看結果,則參考者就是使用者從中存取文字搜尋引擎的頁面。參考者允許伺服器建立回溯的連結清單。 |
HTTP Header, “user-agent” |
使用者代理程式資訊,包括用戶端使用的瀏覽器類型、版本及瀏覽器執行所在的作業系統。此項資訊來自用戶端傳送給伺服器的 HTTP 標頭資訊內的 [User-agent] 欄位。 |
Method |
使用的 HTTP 請求方法,例如 GET、PUT 或 POST。 |
URI |
通用資源識別碼。伺服器上資源的位置。例如,對於 http://www.a.com:8080/special/docs,其 URI 為 special/docs。 |
Query String Of The URI |
URI 中問號之後的所有文字。例如,在 http://www.a.com:8080/special/docs?find_this 中,URI 的查詢字串為 find_this。 |
Protocol |
使用的傳輸協定和版本。 |
當變更現有記錄檔的格式時,應該先將現有記錄檔刪除/重新命名,或是改用不同的檔案名稱。
存取 Administration Server,然後按一下 [Preferences] 標籤。
按一下 [Set Access Log Preferences] 連結。
此時會顯示 [Set Access Log Preferences] 頁面。
從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。
指定是否要記錄用戶端存取。
此設定要求啟用 Domain Name Service (DNS)。
為存取記錄檔指定絕對路徑。
依預設,記錄檔會儲存在伺服器根目錄的 logs 目錄中。如果指定部分路徑,伺服器將假設此路徑是伺服器根目錄中 logs 目錄的相對路徑。
如果您是在編輯整個伺服器,則此欄位的預設值為 $accesslog,它是配置檔案中表示伺服器存取記錄檔的變數。
選擇是否要在存取記錄中記錄存取伺服器的系統之網域名稱或 IP 位址。
選擇要在存取記錄中使用的記錄檔格式類型。
下列為可用的選項:
Use Common LogFile Format。包括用戶端的主機名稱、通過認證的使用者名稱、請求日期及時間、HTTP 標頭、傳回用戶端的狀態碼以及傳送至用戶端的文件內容長度。
Only Log。讓您決定要記錄哪些資訊。您可以從表 9–2 列出的彈性記錄格式項目中進行選擇。
如果您選擇自訂格式,請在 [Custom Format ] 欄位中鍵入格式。
按一下 [OK]。
按一下 [Restart Required]。
此時會顯示 [Apply Changes] 頁面。
按一下 [Restart Proxy Server] 按鈕以套用變更。
下表列出的彈性記錄格式,可讓您用來設定伺服器實例的存取記錄喜好設定。
表 9–3 伺服器實例的記錄檔格式
記錄格式項目 |
說明 |
---|---|
Client Hostname |
請求存取的用戶端主機名稱 (如果已停用 DNS,則為 IP 位址)。 |
Authenticate User Name |
如果需要進行認證,您可以在存取記錄中列示經認證的使用者名稱。 |
System Date |
用戶端請求的日期與時間。 |
Full Request |
用戶端發出的確切請求。 |
Status |
伺服器傳回用戶端的狀態碼。 |
Content Length |
傳送給用戶端的文件內容長度 (以位元組為單位)。 |
HTTP Header, “referer” |
參考指定一個頁面,用戶端從此頁面存取目前頁面。例如,如果使用者是從文字搜尋查詢查看結果,則參考者就是使用者從中存取文字搜尋引擎的頁面。參考者允許伺服器建立回溯的連結清單。 |
HTTP Header, “user-agent” |
使用者代理程式資訊,包括用戶端使用的瀏覽器類型、版本及瀏覽器執行所在的作業系統。此項資訊來自用戶端傳送給伺服器的 HTTP 標頭資訊內的 [User-agent] 欄位。 |
Method |
使用的 HTTP 請求方法,例如 GET、PUT 或 POST。 |
URI |
通用資源識別碼。伺服器上資源的位置。例如,對於 http://www.a.com:8080/special/docs,其 URI 為 special/docs。 |
Query String Of The URI |
URI 中問號之後的所有文字。例如,在 http://www.a.com:8080/special/docs?find_this 中,URI 的查詢字串為 find_this。 |
Protocol |
使用的傳輸協定和版本。 |
Cache Finish Status |
此欄位指定快取檔案是被寫入、重新整理,還是由最新狀態檢查傳回。 cs 欄位可保留以下內容之一: - 表示資源不可快取。 WRITTEN 表示已建立快取檔案。 REFRESHED 表示已更新或重新整理快取檔案。 NO-CHECK 表示在傳回快取檔案時未進行最新狀態檢查。 UP-TO-DATE 表示在傳回快取檔案時進行了最新狀態檢查。 HOST-NOT-AVAILABLE 表示遠端伺服器不可用於進行最新狀態檢查,因此未檢查就傳回了快取檔案。 CL-MISMATCH 表示因內容長度不符而中斷了快取檔案寫入。 ABORTED 表示因特殊緣由而中斷了快取。例如,缺少有效的 Last-Modified 標頭。 |
Remote Server Finish Status |
此欄位指出向遠端伺服器提出的請求是順利執行完成、在用戶端按一下瀏覽器中的 [Stop] 按鈕後被中斷,或因錯誤狀況而中斷。 |
Status Code From Server |
伺服器傳回的狀態碼。 |
Route To Proxy (PROXY, SOCKS, DIRECT) |
用於擷取資源的路由。文件可以透過代理伺服器或透過 SOCKS 伺服器直接擷取。 |
Transfer Time |
傳輸時間長度 (以秒或毫秒為單位)。 |
Header-length From Server Response |
來自伺服器回應的標頭長度。 |
Request Header Size From Proxy To Server |
自代理伺服器傳送至伺服器的請求標頭大小。 |
Response Header Size Sent To Client |
傳送至用戶端的回應標頭大小。 |
Request Header Size Received From Client |
自用戶端收到的請求標頭大小。 |
Content-length From Proxy To Server Request |
自代理伺服器傳送至伺服器的文件長度 (以位元組為單位)。 |
Content-length Received From Client |
來自用戶端的文件長度 (以位元組為單位)。 |
Content-length From Server Response |
來自伺服器的文件長度 (以位元組為單位)。 |
Unverified User From Client |
認證期間向遠端伺服器提供的使用者名稱。 |
存取 Server Manager,然後按一下 [Server Status] 標籤。
按一下 [Set Access Log Preferences] 連結。
此時會顯示 [Set Access Log Preferences] 頁面。
從下拉式清單中選取資源,或按一下 [Regular Expression] 按鈕,然後鍵入常規表示式並按一下 [OK]。
指定是否要記錄用戶端存取。
此設定要求啟用 Domain Name Service (DNS)。
為存取記錄檔指定絕對路徑。
依預設,記錄檔會儲存在伺服器根目錄的 logs 目錄中。如果指定部分路徑,伺服器將假設此路徑是伺服器根目錄中 logs 目錄的相對路徑。
如果您是在編輯整個伺服器,則此欄位的預設值為 $accesslog,它是配置檔案中表示伺服器存取記錄檔的變數。
選擇是否要在存取記錄中記錄存取伺服器的系統之網域名稱或 IP 位址。
選擇記錄檔應使用的格式:共用、延伸、延伸-2、僅指定的資訊 ([Only log] 單選按鈕) 或自訂。
如果您按一下 [Only log],將可以使用下列彈性記錄格式項目:
選擇要在存取記錄中使用的記錄檔格式類型。
伺服器存取記錄可以使用共用記錄檔格式、延伸記錄檔格式、延伸 2 記錄檔格式、彈性記錄格式,或您自己的自訂格式。共用記錄檔格式為通常受支援的格式,可提供固定數量的伺服器資訊。彈性記錄格式可讓您從 Proxy Server 選擇所要記錄的內容。可自訂格式使用您指定的參數區段來控制記錄的內容。
Use Common LogFile Format。包括用戶端的主機名稱、通過認證的使用者名稱、請求日期及時間、HTTP 標頭、傳回用戶端的狀態碼以及傳送至用戶端的文件內容長度。
Use Extended LogFile Format。包括共用記錄檔格式的所有欄位,加上一些額外欄位,諸如遠端狀態、代理伺服器至用戶端的內容長度、遠端至代理伺服器的內容長度、代理伺服器至遠端的內容長度、用戶端至代理伺服器的標頭長度、代理伺服器至用戶端的標頭長度、代理伺服器至遠端的標頭長度、遠端至代理伺服器的標頭長度以及傳輸時間。
Use Extended2 LogFile Format。包括延伸記錄檔格式的所有欄位,加上一些額外欄位,諸如用戶端狀態、伺服器狀態、遠端狀態、快取完成狀態以及實際路由。
Only Log。可讓您選擇要記錄的資訊。您可以從表 9–3 列出的彈性記錄格式項目中進行選擇。
如果您選擇自訂格式,請在 [Custom Format ] 欄位中鍵入格式。
如果您不想記錄來自特定主機名稱或 IP 位址的用戶端存取,請在 [host names] 及 [IP Addresses] 欄位中鍵入該主機名稱與 IP 位址。
請鍵入伺服器不應記錄存取的主機萬用字元式樣。例如,*.example.com 將不會記錄網域名稱為 example.com 的人員存取。您可以鍵入主機名稱、IP 位址或兩者的萬用字元式樣。
選擇是否要在記錄檔中包括格式字串。
如果您要使用 Proxy Server 的記錄分析器,就應該包括格式字串。如果您要使用協力廠商的分析器,最好不要在記錄檔中包括格式字串。
按一下 [OK]。
按一下 [Restart Required]。
此時會顯示 [Apply Changes] 頁面。
按一下 [Restart Proxy Server] 按鈕以套用變更。
Proxy Server 提供了使用 flexlog 功能記錄特定 cookie 的簡便方式。將 Req->headers.cookie.cookie_name 增加到初始化 flex-log 子系統的行中,此行位於 obj.conf 配置檔中。如果請求標頭提供了 cookie 變數,則指令將記錄 cookie_name 變數的值,如果未提供,則記錄為 -。