您可以使用幾種不同的方法來監視伺服器的作業。本章論述了透過記錄和檢視記錄檔監視伺服器的方式。如需有關使用內建效能監視服務或 SNMP 的資訊,請參閱第 10 章監視伺服器。
本章包含下列小節:
伺服器記錄檔可記錄伺服器的作業。可以使用這些記錄來監視伺服器以及幫助您進行疑難排解。錯誤記錄檔位於伺服器根目錄的 proxy-server_name/logs/errors 中,其中列出了伺服器遇到的所有錯誤。存取記錄位於伺服器根目錄的 proxy-server_name/logs/access 中,其中記錄了有關向伺服器提出的請求及伺服器做出的回應的資訊。您可以配置 Proxy Server access 記錄檔中記錄的資訊。請使用記錄分析器來產生伺服器統計資料。您可以透過歸檔伺服器的錯誤記錄檔和存取記錄檔,對其進行備份。
由於作業系統的限制,Proxy Server 在 Linux 上無法處理超過 2 GB 的記錄檔。一旦達到最大的檔案大小,記錄將停止。
本小節論述記錄檔的建立方法。另外,本小節還包括下列主題︰
如需關於 Windows 作業環境使用的事件記錄機制的更多資訊,請參閱 Windows 說明系統索引,查找關鍵字「事件記錄」。
在 UNIX 和 Windows 平台上,Administration Server 的記錄都會收集在管理 proxy-admserv/logs/ 目錄中。伺服器實例的記錄收集在 proxy-server_name/logs/ 目錄中。
可以為整部伺服器設定預設的記錄層級。您可以將 stdout 和 stderr 重新導向至伺服器的事件記錄,並將記錄輸出導向至作業系統的系統記錄檔中。此外,您也可將 stdout 和 stderr 內容導向至伺服器的事件記錄中。依預設,記錄訊息除傳送至指定的伺服器記錄檔以外,也傳送至 stderr。
對於需要進行集中記錄的穩定作業環境而言,syslog 是適用的。對於經常需要輸出記錄以便診斷和除錯的環境而言,個別伺服器實例記錄可能更容易管理。
由於若將伺服器實例和 Administration Server 的記錄資料儲存在一個檔案內,可能會造成不易閱讀和除錯,因此只適合對穩定執行的已部署應用程式使用 syslog 主記錄檔。
已記錄的訊息會和 Solaris 常駐程式應用程式中的所有其他記錄混雜在一起。
使用 syslog 記錄檔,並結合 syslogd 及系統記錄常駐程式,您可以配置 syslog.conf 檔案以執行下列動作:
將訊息記錄到適當的系統記錄中
將訊息寫入至系統主控台
將記錄的訊息轉寄至使用者清單,或透過網路將其轉寄至另一台主機上的另一個 syslogd
由於記錄至 syslog 表示來自 Proxy Server 和其他常駐程式應用程式的記錄都要集中在同一個檔案裡,因此下列資訊會增強已記錄的訊息,以識別特定伺服器實例的特定 Proxy Server 訊息:
唯一的訊息 ID
時間戳記
實例名稱
程式名稱 (proxyd 或 proxyd-wdog)
程序 ID (proxyd 程序的 PID)
執行緒 ID (可選)
伺服器 ID
可以在 server.xml 檔案中為 Administration Server 和伺服器實例配置 LOG 元素。
如需有關 UNIX 作業環境中使用的 syslog 記錄機制的更多資訊,請在終端機提示符號處使用下列 man 指令:
man syslog man syslogd man syslog.conf
下表依嚴重性遞增順序定義了 Proxy Server 中的記錄層級與訊息。
表 9–1 記錄層級
記錄層級 |
說明 |
---|---|
finest finer fine |
訊息指示除錯訊息的詳細度範圍。finest 提供最高詳細度。 |
info |
訊息實際上是有益的,通常與伺服器配置或伺服器狀態有關。這些訊息不指示需要立即採取動作的錯誤。 |
warning |
訊息表示一條警告。該訊息可能伴有異常。 |
failure |
訊息指示發生相當嚴重的故障,可能會阻止應用程式正常執行。 |
config |
訊息與各種靜態配置資訊有關,可協助對可能與特定配置關聯的問題進行除錯。 |
security |
訊息指示發生安全問題。 |
catastrophe |
訊息指示發生嚴重錯誤。 |
您可以將存取和錯誤記錄檔設定為自動歸檔。記錄會在特定的時間或指定的間隔後自動重建。Proxy Server 會儲存舊記錄檔,並使用包含儲存日期和時間的名稱,為已儲存的檔案加上戳記。
例如,您可以設定您的存取記錄檔於每小時自動重建一次。Proxy Server 會儲存檔案並將檔案命名為「access.200505160000」,其中的記錄檔名稱、年、月、日和 24 小時制時間均會鏈結成一個字元串。依據您設定的記錄自動重建類型的不同,記錄歸檔檔案的格式也會不同。
Proxy Server 提供兩種用於歸檔檔案的記錄自動重建類型︰內部常駐程式記錄自動重建及基於 cron 的記錄自動重建。
內部常駐程式記錄自動重建會在 HTTP 常駐程式中發生,且只能在啟動時配置。伺服器會於內部自動重建記錄,不需要重新啟動伺服器。使用此方法重新記錄的記錄將以下列格式儲存︰
access.<YYYY><MM><DD><HHMM>
errors.<YYYY><MM><DD><HHMM>
您可以指定用作自動重建記錄檔和啟動新記錄檔的時間依據。例如,如果自動重建開始時間為上午 12:00,且自動重建間隔為 1440 分鐘 (一天),則當您儲存及套用變更時,不論當時是幾點,都會立即建立一個新的記錄檔。記錄檔會在每天上午 12:00 自動重建,並會在上午 12:00 將存取記錄加上戳記,並且另存新檔為 access.200505172400。同樣地,如果設定間隔為 240 分鐘 (4 小時),4 個小時間隔會從上午 12:00 開始起算,因此存取記錄檔會包含從上午 12:00 到上午 4:00、上午 4:00 到上午 8:00 之間收集的資訊,依此類推。
如果有啟用記錄自動重建,則記錄檔自動重建會從伺服器啟動時開始。要循環的第一個記錄檔將從目前時間到下一個循環時間收集資訊。以上述範例為例,如果設定開始時間為上午 12:00,自動重建間隔為 240 分鐘,且目前時間為上午 6:00,則自動重建的第一個記錄檔會包含從上午 6:00 到上午 8:00 之間收集的資訊;下一個記錄檔會包含從上午 8:00 到下午 12:00 (中午) 收集的資訊,依此類推。
基於排程程式的記錄自動重建是依據 server.xml 檔案內儲存的時間和日期進行的,該檔案位於 server-root/proxy- server_name/config/ 目錄。這種方法可讓您立即歸檔記錄檔或在特定日期的特定時間使用伺服器來歸檔記錄檔。伺服器的排程程式配置選項均儲存在 server-root/proxy-server_name/config/ 目錄中的 server.xml 中。使用基於排程程式的方法自動重建的記錄將以下列格式儲存︰
<original_filename>.<YYYY><MM><DD><HHMM>
例如,若在下午 4:30 自動重建 access,其可能成為 access.200505171630。
伺服器啟動時,將初始化記錄循環。如果自動重建已開啟,Proxy Server 會建立帶有時間戳記的存取記錄檔,並且會在伺服器啟動時開始自動重建。
一旦自動重建啟動,每當在需要記錄至存取記錄檔或錯誤記錄檔之預先排定的「下次自動重建時間」之後發生請求或錯誤時,Proxy Server 就會建立一個包含新時間戳記的記錄檔。
執行記錄分析器之前,應歸檔伺服器記錄。
若要歸檔記錄檔,並指定使用內部常駐程式方法,還是使用基於排程程式的方法,請使用 Server Manager 中的 [Archive Log] 頁面。
在安裝期間,會為伺服器建立一個名稱為 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 變數的值,如果未提供,則記錄為 -。
您可以配置要在伺服器的錯誤記錄中記錄的資訊。
若要從 Administration Server 設定錯誤記錄選項,請選擇 [Preferences] 標籤,然後按一下 [Set Error Log Preferences] 連結。
若要從 Server Manager 設定伺服器實例的錯誤記錄選項,請選擇 [Server Status] 標籤,然後按一下 [Set Error Log Preferences] 連結。
在 [Error Log File Name] 欄位中,指定儲存伺服器訊息的檔案。
從記錄層級下拉式清單中,指定要在錯誤記錄中記錄的資訊量。下列為可用的選項:
若要將 stdout 輸出重新導向至錯誤記錄,請選取 [Log Stdout]。
若要將 stderr 輸出重新導向至錯誤記錄,請選取 [Log Stderr]。
若要將記錄訊息重新導向至主控台,請選取 [Log To Console]。
若要使用 UNIX syslog 服務或 Windows 事件記錄來產生和管理記錄,請選取 [Use System Logging]。
按一下 [OK]。
按一下 [Restart Required]。
此時會顯示 [Apply Changes] 頁面。
按一下 [Restart Proxy Server] 按鈕以套用變更。
下表說明可以在 server.xml 檔案中配置的 LOG 元素屬性。
表 9–4 LOG 屬性
屬性 |
預設值 |
說明 |
---|---|---|
file |
errors |
指定儲存伺服器訊息的檔案。 |
loglevel |
info |
控制由其他元素記錄到錯誤記錄中的訊息的預設類型。允許\值依從最高到最低的次序,列示如下︰ finest、fine、fine、 info、warning、failure、config、security 及 catastrophe。 |
logstdout |
true |
(可選) 如果是 true,則將 stdout 輸出重新導向至錯誤記錄。有效值包括 on、 off、yes、 no、1、 0、true、 false。 |
logstderr |
true |
(可選) 如果是 true,則將 stderr 輸出重新導向至錯誤記錄。有效值包括 on、 off、yes、 no、1、 0、true、 false。 |
logtoconsole |
true |
(可選,僅限於 UNIX) 如果為 true,則將記錄訊息重新導向至主控台。 |
createconsole |
false |
(可選,僅限於 Windows) 如果為 true,則針對 stderr 輸出建立一個 Windows 主控台。有效值包括 on、off、yes、no、1、0、true、false。 |
usesyslog |
false |
(可選) 如果為 true,則使用 UNIX syslog 服務或 Windows 事件記錄來產生和管理記錄。有效值包括 on、 off、yes、 no、1、 0、true、 false。 |
您可以檢視伺服器的使用中存取記錄檔和已歸檔存取記錄檔。
若要從 Administration Server 檢視它的存取記錄,請選擇 [Preferences] 標籤,然後按一下 [View Access Log] 連結。
若要從 Server Manager 檢視伺服器實例的存取記錄,請選擇 [Server Status] 標籤,然後按一下 [View Access Log] 連結。
198.18.17.222 - - [20/May/2005:14:15:49 +0530] "GET http://www.example.com/ HTTP/1.1" 504 622 198.18.17.222 - abc [20/May/2005:14:16:09 +0530] "GET http://www.test.com/report.zip HTTP/1.1" 504 630 |
下表說明此範例存取記錄的最後一行。
存取記錄欄位 |
範例 |
---|---|
用戶端主機名稱或 IP 位址 |
198.18.17.222 (在此範例中顯示的是用戶端的 IP 位址,因為代理伺服器已停用 DNS 查找設定;如果有啟用 DNS 查找,則會顯示用戶端的主機名稱)。 |
RFC 931 資訊 |
- (未執行 RFC 931 識別) |
使用者名稱 |
abc (用戶端進行認證時輸入的使用者名稱) |
請求的日期/時間 |
20/May/2005:14:16:09 +0530 |
請求 |
GET |
協定 |
HTTP/1.1 |
狀態碼 |
504 |
傳輸的位元組 |
630 |
錯誤記錄檔中包含自建立記錄檔以來,伺服器所遇到的錯誤。此檔案中亦包含有關伺服器的資訊訊息,例如伺服器啟動時間。錯誤記錄中還記錄未成功的使用者認證。請使用錯誤記錄尋找中斷的 URL 路徑或遺漏的檔案。
若要檢視 Administration Server 的錯誤記錄檔,請從 Administration Server 中,選擇 [Preferences] 標籤,並按一下 [View Error Log] 連結。
若要檢視伺服器實例的錯誤記錄檔,請從 Server Manager 中,選擇 [Server Status] 標籤,並按一下 [View Error Log] 連結。
以下錯誤記錄範例共包含三個項目:
20/May/2005:14:08:37] info ( 6141): CORE1116: Sun Java System Web Proxy Server 4.0 B05/10/2005 01:26 20/May/2005:14:08:37] info ( 6142): CORE3274: successful server startup 20/May/2005:14:08:37] security (23246): for host 198.18.148.89 trying to GET /, deny-service reports: denying service of / |
server-root/extras/log_anly 目錄中包含透過 Server Manager 使用者介面執行的記錄分析工具。此記錄分析器僅分析使用共用記錄格式的檔案。log_anly 目錄中的 HTML 文件對工具的參數進行了說明。server-install/extras/flexanlg 目錄中包含針對彈性記錄檔格式的指令行記錄分析器。但是不論您選取的記錄檔格式為何,Server Manager 均會預設為使用彈性記錄檔報告工具。
使用記錄分析器可以產生關於預設伺服器的統計資料,例如活動摘要、最常存取的 URL、一日內反復存取伺服器的次數,等等。您可以從 Proxy Server 或從指令行執行記錄分析器。
您必須先設定程式庫路徑,然後才可以嘗試執行 flexanlg 指令行公用程式。各種平台的設定如下︰
Solaris 和 Linux︰
LD_LIBRARY_PATH=server-root/bin/proxy/lib:$LD_LIBRARY_PATH
AIX︰
LIBPATH=server-root/bin/proxy/lib:$LIBPATH
HP-UX︰
SHLIB_PATH=server-root/bin/proxy/lib:$SHLIB_PATH
Windows︰
path=server-root\\bin\\proxy\\bin;%path%
執行記錄分析器之前,應先將伺服器記錄歸檔。如需有關歸檔伺服器記錄的更多資訊,請參閱歸檔記錄檔。
您也可以先轉到 server-root/proxy-serverid 目錄,然後於指令提示符號處鍵入 ./start -shell,而不用設定程式庫路徑。
如果您使用延伸或延伸-2 記錄格式,則除了您指定要報告的資訊外,記錄分析器還會在輸出檔案中產生數項報告。下列幾個小節說明這些報告。
傳輸時間分配報告會顯示代理伺服器傳輸請求所用的時間。此報告依服務時間和完成百分比將資訊分類顯示。以下範例為傳輸時間分配報告的範例。
By service time category:
< 1 sec [644%] ........................................
< 2 sec [33.3%] ....................
< 3 sec [ 2.7%] .
< 4 sec [ 1.7%] .
< 5 sec [ 0.6%]
< 6 sec [ 0.4%]
< 7 sec [ 0.2%]
< 8 sec [ 0.0%]
< 9 sec [ 0.0%]
By percentage finished:
< 1 sec [64.4%] ........................................
< 2 sec [97.7%] ....................................
< 3 sec [100.4%]..............................................
資料流量報告顯示從用戶端到代理伺服器、從代理伺服器到用戶端、從代理伺服器到遠端伺服器,以及從遠端伺服器到代理伺服器之間的資料流量 (所傳輸的位元組數)。報告會針對每種分析藍本,顯示以標頭與內容形式傳輸的資料量。資料流量報告也會顯示從快取記憶體到用戶端之間的資料流量。以下是資料流量報告的範例。
狀態碼報告顯示代理伺服器自遠端伺服器收到,及傳送至用戶端的狀態碼項目與數目。狀態碼報告也會提供所有這些狀態碼的說明。以下是狀態碼報告的範例。
請求與連線報告顯示代理伺服器收到的用戶端請求數目、代理伺服器向遠端伺服器發出的連線數目 (初始擷取、最新狀態檢查及重新整理),以及代理伺服器使用快取文件而避免的遠端連線數目。以下是請求與連線報告的範例。
- Total requests............. 478 - Remote connections......... 439 - Avoided remote connects.... 39 [ 8.2%]
快取效能報告顯示用戶端快取、代理伺服器快取以及直接連線的效能。
當用戶端對文件執行最新狀態檢查時,如果遠端伺服器傳回 304 訊息,告知用戶端此文件並未修改,就表示有用戶端快取符合項目。若用戶端啟動最新狀態檢查,即表示用戶端在快取記憶體中擁有自己的文件副本。
對於用戶端快取,此報告會顯示:
Client and proxy cache hits:一種用戶端快取符合項目,在這種符合項目中,代理伺服器和用戶端皆擁有所請求文件的副本,並且查詢遠端伺服器,以進行代理伺服器副本的最新狀態檢查,並依代理伺服器的副本來評估用戶端請求。快取效能報告會顯示代理伺服器處理的這類請求數目,及代理伺服器處理這類請求所花的平均時間。
Proxy shortcut no-check:一種用戶端快取符合項目,在這種符合項目中,代理伺服器和用戶端皆擁有所請求文件的副本,代理伺服器將告知用戶端 (無需和遠端伺服器確認) 在用戶端快取記憶體中的文件為最新版本。快取效能報告可顯示代理伺服器處理的這類請求數目,及代理伺服器用於處理這類請求的平均時間。
Client cache hits only:一種用戶端快取符合項目,在這種符合項目中,僅用戶端擁有所請求文件的快取副本。在這類請求中,代理伺服器直接為用戶端的 If-modified-since GET 標頭建立通道。快取效能報告可顯示代理伺服器處理的這類請求數目,及代理伺服器用於處理這類請求的平均時間。
Total client cache hits:用戶端快取符合項目總數及用於服務此類請求的平均時間。
當用戶端向代理伺服器請求文件,且該代理伺服器的快取中具備此份文件時,就表示有代理伺服器快取符合項目。對於代理伺服器的快取符合項目,此報告會顯示:
Proxy cache hits with check:一種代理伺服器快取符合項目,在這種符合項目中,代理伺服器會查詢遠端伺服器,以對文件進行最新狀態檢查。快取效能報告可顯示代理伺服器處理的這類請求數目,及代理伺服器用於處理這類請求的平均時間。
Proxy cache hits without check:一種代理伺服器快取符合項目,在這種符合項目中,代理伺服器不會查詢遠端伺服器,所以不會對文件進行最新狀態檢查。快取效能報告可顯示代理伺服器處理的這類請求數目,及代理伺服器用於處理這類請求的平均時間。
pure proxy cache hits:一種代理伺服器快取符合項目,在這種符合項目中,用戶端沒有所請求文件的快取副本。快取效能報告可顯示代理伺服器處理的這類請求數目,及代理伺服器用於處理這類請求的平均時間。
對於合併的代理伺服器快取符合項目,報告會顯示代理伺服器快取的符合項目總數,以及代理伺服器服務這些請求所花費的平均時間。
直接作業事件是指無任何快取符合項目而直接從遠端伺服器到代理伺服器再到用戶端的作業事件。對於直接作業事件,報告將顯示:
Retrieved documents:直接從遠端伺服器擷取的文件。快取效能報告會顯示代理伺服器服務此類型請求的數目、服務這些請求所花費的平均時間,以及總作業事件的百分比。
Other transactions:導致所傳回之狀態碼非 200 或 304 的作業事件。快取效能報告顯示代理伺服器服務此類型請求的數目和服務這些請求所花費的平均時間。
Total direct traffic:直接從用戶端到遠端伺服器的請求 (包括失敗的請求與成功擷取的文件)。快取效能報告會顯示代理伺服器服務此類型請求的數目、服務這些請求所使用的平均時間,以及總作業事件的百分比。
以下是快取效能報告的範例。
CLIENT CACHE: - Client & proxy cache hits... 86 reqs [18.0%] 0.21 sec/req- Proxy shortcut no-check........ 13 reqs [ 2.7%] 0.00 sec/req- Client cache hits only..... - TOTAL client cache hits.......... 99 reqs [20.7%] 0.18 sec/req PROXY CACHE: - Proxy cache hits w/check........ 4 reqs [ 0.8%] 0.50 sec/req- Proxy cache hits w/o check.. 10 reqs [ 2.1%] 0.00 sec/req- Pure proxy cache hits...... 14 reqs [ 2.9%] 0.14 sec/req PROXY CACHE HITS COMBINED: - TOTAL proxy cache hits....... 113 reqs [23.6%] 0.18 sec/req DIRECT TRANSACTIONS: - Retrieved documents..313 reqs [65.5%] 0.90 sec/req 2 MB- Other transactions.. 52 reqs [10.9%] 7.79 sec/req- TOTAL direct traffic.. 365 reqs [76.4%] 1.88 sec/req 2 MB |
傳輸時間報告顯示關於代理伺服器處理作業事件所用時間的資訊。此報告顯示下列類別的值:
Average transaction time:記錄的所有傳輸時間的平均值。
Average transfer time without caching:不是從快取傳回之作業事件 (導致遠端伺服器傳送 200 回應) 的平均傳輸時間。
Average with caching, without errors:所有無錯誤作業事件 (狀態碼為 2xx 和 3xx) 的平均傳輸時間。
Average transfer time improvement:平均作業事件時間減去包含快取且無錯誤情況的平均傳輸時間。
以下是傳輸時間報告的範例。
- Average transaction time... 1.48 sec/req- Ave xfer time w/o caching.. 0.90 sec/req- Ave w/caching, w/o errors.. 0.71 sec/req - Ave xfer time improvement.. 0.19 sec/req
對於已分析的每個小時,每小時作業報告會顯示:
平均負載
不向遠端伺服器進行最新狀態檢查的快取符合項目數目
對遠端伺服器進行最新狀態檢查 (證明文件是最新的且位於用戶端快取記憶體中) 的代理伺服器快取符合項目數目
對遠端伺服器進行最新狀態檢查 (證明文件是最新的且不位於用戶端快取記憶體中) 的代理伺服器快取符合項目數目
對遠端伺服器進行最新狀態檢查 (導致文件的部分被更新) 的代理伺服器快取符合項目數目
對遠端伺服器進行最新狀態檢查 (傳回請求文件的新副本與 200 狀態碼) 的代理伺服器快取符合項目數目
從遠端伺服器直接擷取文件,且沒有任何代理伺服器快取符合項目的請求數目
此時會顯示 [Generate Report] 頁面。
鍵入您的伺服器名稱。此名稱會出現在產生的報告中。
選擇報告是以 HTML 格式還是 ASCII 格式顯示。
選取您要分析的記錄檔。
如果您想要將結果儲存於檔案中,請在 [Output File] 欄位中鍵入輸出檔案名稱。
如果保留此欄位為空白,則報告結果將在螢幕上顯示。對於大型記錄檔,您應將結果儲存到檔案中,因為將輸出顯示到螢幕上可能需要很長時間。
選取是否為某些伺服器的統計資料產生小計。
可以產生以下小計:
Total Hits-啟用存取記錄以來伺服器接收的符合項目總數。
304 (Not Modified) Status Codes-所請求文件之本機副本的使用次數,而非伺服器傳回頁面的次數。
302 (Redirects) Status Codes-因原始 URL 移動而將伺服器重新導向至新 URL 的次數。
404 (Not Found) Status Codes-伺服器找不到所請求文件,或由於用戶端不是授權的使用者而未提供文件的次數。
500 (Server Error) Status Codes-發生與伺服器相關的錯誤次數。
Total Unique URLs-啟用存取記錄以來所存取的唯一 URL 之數目。
Total Unique Hosts-啟用存取記錄以來存取過伺服器的唯一主機數目。
Total Kilobytes Transferred-啟用存取記錄以來伺服器傳輸的千位元組數目。
選擇是否產生一般統計資料。如果您選擇產生一般統計資料,請從以下選項中選擇:
Find Top Number Seconds Of Log-基於最近幾秒內的資訊產生統計資料。
Find Top Number Minutes Of Log-
基於最近幾分鐘內的資訊產生統計資料。
Find Top Number Hours Of Log-基於最近幾小時內的資訊產生統計資料。
Find Number Users (If Logged)-基於使用者數目的資訊產生統計資料。
Find Top Number Referers (If Logged)-基於參考者數目的資訊產生統計資料。
Find Top Number User Agents (If Logged)-基於使用者代理程式的資訊 (例如瀏覽器類型、瀏覽器版本及作業系統) 產生統計資料。
Find Top Number Miscellaneous Logged Items (If Logged)-基於使用者數目的資訊產生統計資料。
選擇是否產生清單。
如果您選擇產生清單,請指定要產生清單的項目:
URLs Accessed-顯示已存取的 URL
Number Most Commonly Accessed URL-顯示最常存取的 URL 或存取次數超過指定次數的 URL
URLs That Were Accessed More Than Number Times-顯示存取次數超過指定次數的 URL
Hosts Accessing Your Server-顯示存取 Proxy Server 的主機
Number Hosts Most Often Accessing Your Server-顯示最常存取伺服器的主機,或存取伺服器的次數超過指定次數的主機
Hosts That Accessed Your Server More Than Number Times-顯示存取伺服器次數超過指定次數的主機
指定察看結果的順序
按照您希望各部分在報告中顯示的順序,為其指定從 1 至 3 的優先權。如果您選擇不產生任何優先權,此部分將自動被忽略。這些部分包括:
尋找小計
一般統計資料
產生清單
按一下 [OK]。
報告會在新視窗中顯示。
若要從指令行分析存取記錄檔,請執行 flexanlg 工具 (位於 server-install/extras/flexanlg 目錄中)。
若要執行 flexanlg,請在指令提示符號處鍵入下列指令和選項:
./flexanlg [-n name] [-x] [-r] [-p order] [-i file]* [ -m metafile ]* [-o file][-c opts] [-t opts] [-l opts]
標記 * 的選項可以重複。
鍵入 ./flexanlg -h 可以在線上取得此資訊。
-P: proxy log format Default: no -n servername: The name of the server -x : Output in HTML Default: no -r : Resolve IP addresses to hostnames Default: no -p [c,t,l]: Output order (counts, time stats, lists) Default: ctl -i filename: Input log file Default: none -o filename: Output log file Default: stdout -m filename: Meta file Default: none -c [h,n,r,f,e,u,o,k,c,z]: Count these item(s) - Default: hnreuokc h: total hits n: 304 Not Modified status codes (Use Local Copy) r: 302 Found status codes (Redirects) f: 404 Not Found status codes (Document Not Found) e: 500 Server Error status codes (Misconfiguration) u: total unique URL’s o: total unique hosts k: total kilobytes transferred c: total kilobytes saved by caches z: Do not count any items. -t [sx,mx,hx, xx,z]: Find time stats - Default:s5m5h10u10a10r10x10 s(number): Find top (number) seconds of log m(number): Find top (number) minutes of log h(number): Find top (number) hours of log u(number): Find top (number) users of log a(number): Find top (number) user agents of log r(number): Find top (number) referers of log x(number): Find top (number) for miscellaneous keywords z: Do not find any time stats. -l [cx,hx]: Make a list of - Default: c+3h5 c(x,+x): Most commonly accessed URL’s (x: Only list x entries) (+x: Only list if accessed more than x times) h(x,+x): Hosts (or IP addresses) most often accessing your server (x: Only list x entries) (+x: Only list if accessed more than x times) z: Do not make any lists. |
除了將錯誤記錄到伺服器錯誤記錄之外,Proxy Server 還會將嚴重的系統錯誤記錄至事件檢視器。事件檢視器可讓您監視系統上的事件。使用事件檢視器,可查看開啟錯誤記錄之前可能發生的基礎配置問題所導致的錯誤。