Sun Java System Web Server 7.0 Update 3 管理員指南

第 13 章 監視伺服器

本節介紹 Sun Java System Web Server 的監視功能,並針對可在實例和配置層級監視的伺服器參數,提供詳細的清單。

Sun Java System Web Server 中的監視功能

當您在 [監視父系] 標籤中選取 [配置] 或 [實例] 標籤時,將會顯示可以監視的伺服器參數。

您可在 Sun Java System Web Server Administration Console 執行以下動作:

若要在配置層級監視伺服器參數,按一下 [監視] > [配置] 標籤。表格列出可用配置及以下資訊:

按一下配置名稱,可取得配置層級的統計。一般統計可分為 3 種類型:

透過管理主控台監視

您可在管理主控台中檢視下列種類的伺服器統計:

表 13–1 監視種類

種類

說明

一般統計 

[一般統計] 顯示了配置的所有請求、錯誤和回應統計。  

實例統計 

[實例統計] 顯示了實例的整體請求、錯誤和回應統計,以及有關伺服器當機和虛擬伺服器計數的資訊。 

虛擬伺服器統計 

[虛擬伺服器統計] 顯示了虛擬伺服器的所有請求、錯誤和回應統計,以及開啟之連線的數目和接收/傳輸的位元組總數。 

Procedure檢視統計

  1. 按一下 [監視] 標籤。

  2. 從清單中選取配置。

  3. 檢視一般統計、實例統計和虛擬伺服器統計。


    備註 –

    使用 CLI

    您可以使用 get-config-statsget-virtual-serevr-statsget-webapp-statsget-servlet-stats 指令來監視伺服器。

    • wadm> get-config-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --node=cat.test.com --ssl=true

      上述指令將擷取指定實例的統計。若要取得配置層級的統計,可以在使用上述指令時去掉 --node 選項。

    • wadm> get-virtual-server-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --vs=www.test.com --node=cat.test.com --ssl=true

      上述指令將擷取所有節點 (其中已部署配置) 中指定配置的虛擬伺服器彙總統計。 若要取得給定節點上已部署配置的統計,可使用 --node 選項。

    • wadm> get-webapp-stats --user=admin --password-file=admin.passwd --host=localhost --port=8989 --config=test --node=cat.test.com --vs=www.test.com --uri=/foo --ssl=true

      上述指令將針對指定實例之指定虛擬伺服器上部署的指定 Web 應用程式,來擷取其統計。若要取得所有節點 (其中已部署配置) 中給定配置的 Web 應用程式彙總統計,可以在使用上述指令時去掉 --node 選項。

    • wadm> get-servlet-stats --user=admin --password-file=admin.pwd --host=localhost --port=8989 --config=test --node=cat.test.com --vs=www.test.com --uri=/servlet-simple --ssl=true

      上述指令將擷取 Servlet servlet-simple 的統計。


Procedure檢視及監視 stats-xml 檔案

  1. 在 [常用作業] 頁面上按一下 [配置] 標籤,然後從清單中選取配置。

  2. 按一下 [編輯虛擬伺服器] 標籤

  3. 按一下 [監視設定] 標籤

  4. 啟用 [XML 報告] 核取方塊,並提供發佈 URI

  5. 按一下 [儲存] 按鈕。

  6. 按一下螢幕右上方的 [部署擱置] 連結。

  7. 按一下 [部署] 按鈕。

    例如,若您已配置預設 URI,則只要在瀏覽器中鍵入下列 URL,即可檢視 stats-xml 檔案。

    http://host:port /stats-xml


    備註 –

    若要檢視 stats-xml 檔案的 .dtd,請在瀏覽器中鍵入下列 URL。

    http://host:port /stats-xml/yyy.dtd


修改監視參數

伺服器透過 SNMP 執行監視動作。SNMP 是適用於網路活動資料交換的協定。透過 SNMP,資料在受管理的裝置和網路管理工作站 (NMS) 之間傳送。受管理的裝置是指執行 SNMP 的任何裝置: 主機、路由器、Web 伺服器以及網路上的其他伺服器。NMS 是用於在遠端管理該網路的機器。通常,NMS 軟體會提供圖形來顯示收集的資料,或使用該資料來確定伺服器的作業未超出特定偏差。

NMS 通常是指安裝了一個或多個網路管理應用程式且功能強大的工作站。網路管理應用程式 (例如 HP OpenView) 以圖形方式顯示有關受管理裝置 (例如您的 Web 伺服器) 的資訊。例如,它可以顯示您企業中工作和停用的伺服器,或收到的錯誤訊息數目與類型。SNMP 與 Sun Java System Web Server 搭配使用時,會透過兩種類型的代理程式 (子代理程式主代理程式) 在 NMS 與伺服器之間傳輸此資訊。

子代理程式收集有關伺服器的資訊,並將該資訊傳送至伺服器的主代理程式。除了管理伺服器以外,每個 Sun Java System Web Server 都具有子代理程式。


備註 –

對 SNMP 配置進行任何變更後,您必須按一下 [儲存] 按鈕,然後重新啟動 SNMP 子代理程式。


若要變更配置的設定,請執行以下作業︰

  1. 按一下 [配置] 標籤

  2. 選取需要變更其監視設定的配置。

  3. 按一下 [監視設定] 子標籤

配置監視參數

若要變更配置的一般監視設定,請編輯 [一般設定] 區段下的值。下表提供了一般監視參數的欄位說明:

表 13–2 欄位說明 > 一般監視設定

欄位

說明

SNMP 子代理程式

一般而言,若要使用SNMP,系統上必須安裝並執行主代理程式和最少一個子代理程式。您需要先安裝主代理程式,才能啟用子代理程式。

選取此選項以啟用/停用 SNMP 子代理程式。 

間隔

輪詢間隔是指每次更新顯示的統計資訊所間隔的秒數。 

如果伺服器實例正在執行,而且您已啟用統計,則您會看到一個頁面,其中顯示已選取的統計種類。該頁面每隔 5 至 15 秒更新一次,這取決於您選擇的輪詢間隔。 

設定檔

您可以使用統計/設定檔功能來監視伺服器的目前作業。統計顯示伺服器正在處理的請求數目,以及處理這些請求的情況。您可以檢視個別虛擬伺服器的某些統計,並可以檢視整個伺服器實例的其他統計。  

選取此選項以啟用/停用設定檔。 

配置 SNMP 子代理程式參數

若要變更配置的 SNMP 子代理程式設定,請編輯 [SNMP 子代理程式設定] 區段下的值。下表提供了 SNMP 子代理程式參數的欄位說明︰

表 13–3 欄位說明 > SNMP 子代理程式設定

欄位

說明

已啟用

一般而言,若要使用SNMP,系統上必須安裝並執行主代理程式和最少一個子代理程式。您需要先安裝主代理程式,才能啟用子代理程式。

選取此選項以啟用/停用 SNMP 統計集合。 

主要主機

輸入伺服器的名稱和網域 (僅 UNIX)。

說明

輸入伺服器的簡短說明,包括作業系統資訊。 

組織

輸入代表組織的簡稱。 

位置

在此欄位中輸入伺服器的位置資訊。 

連絡人

在此欄位中輸入伺服器的連絡人資訊。 

配置 SNMP 子代理程式

SNMP 是適用於網路活動資料交換的協定。透過 SNMP,資料在受管理的裝置和網路管理工作站 (NMS) 之間傳送。受管理的裝置是指執行 SNMP 的任何裝置: 主機、路由器、Web 伺服器以及網路上的其他伺服器。NMS 是用於在遠端管理該網路的機器。通常,NMS 軟體會提供圖形來顯示收集的資料,或使用該資料來確定伺服器的作業未超出特定偏差。

NMS 通常是指安裝了一個或多個網路管理應用程式且功能強大的工作站。網路管理應用程式 (例如 Sun Management Center) 以圖形方式顯示有關受管理裝置 (例如您的 Web 伺服器) 的資訊。例如,它可以顯示您企業中工作和停用的伺服器,或收到的錯誤訊息數目與類型。SNMP 與 Sun Java System Web Server 搭配使用時,會透過兩種類型的代理程式 (子代理程式主代理程式) 在 NMS 與伺服器之間傳輸此資訊。

子代理程式收集有關伺服器的資訊,並將該資訊傳送至伺服器的主代理程式。

如需啟動 SNMP 子代理程式,請執行以下作業︰

  1. 按一下 [節點] 標籤

  2. 按一下節點清單中的可用節點。

  3. 按一下 [SNMP 子代理程式] 標籤

  4. 按一下 [啟動 SNMP 子代理程式] 按鈕以啟動子代理程式。


備註 –

啟動 SNMP 子代理程式之前,請驗證主代理程式是否正在執行。僅當主代理程式正在執行時,才會啟動子代理程式。


若要停止 SNMP 子代理程式,請執行以下作業︰

  1. 按一下 [節點] 標籤

  2. 按一下節點清單中的可用節點。

  3. 按一下 [SNMP 子代理程式] 標籤

  4. 按一下 [停止 SNMP 子代理程式] 按鈕以停止子代理程式。

一般而言,若要使用SNMP,系統上必須安裝並執行主代理程式和最少一個子代理程式。您需要先安裝主代理程式,才能啟用子代理程式。

設定 SNMP 的程序因系統而異。下表提供了您將在不同情況下應遵循的程序簡介。本章的稍後部分將詳細說明實際程序。

開始之前,應該確認兩個事項:

請參閱系統文件,以取得有關如何驗證此資訊的資訊。


備註 –

在管理伺服器中變更 SNMP 設定之後,如果要安裝新的伺服器或刪除現有伺服器,則必須執行以下步驟:


表 13–4 一般準則

如果您的伺服器符合這些條件

請按照這些程序執行

  • 目前尚未執行任何本機代理程式

  1. 啟動主代理程式。

  2. 為系統上安裝的每個伺服器啟用子代理程式。

  • 目前正在執行本機代理程式

  • 無 SMUX

  • 無需繼續使用本機代理程式

  1. 為管理伺服器安裝主代理程式時,請停止本機代理程式。

  2. 啟動主代理程式。

  3. 為系統上安裝的每個伺服器啟用子代理程式。

  • 目前正在執行本機代理程式

  • 無 SMUX

  • 需要繼續使用本機代理程式

  1. 安裝 SNMP 代理程式。

  2. 啟動主代理程式。

  3. 啟動 SNMP 代理程式。

  4. 使用主代理程式連接埠號碼之外的連接埠號碼,重新啟動本機代理程式。

  5. 為系統上安裝的每個伺服器啟用子代理程式。

  • 目前正在執行本機代理程式

  • 支援 SMUX

  1. 重新配置本機 SNMP 代理程式。

  2. 為系統上安裝的每個伺服器啟用子代理程式。

使用 CLI 配置 SNMP

Procedure在 Solaris 上啟動 SNMP

  1. 配置 SNMP 參數。

    設定配置的 SNMP 參數。


    wadm> enable-snmp --user=admin --password-file=../admin.passwd 
    --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null 
    --config=config1 --loconfig1ion=india --master-host=hostname 
    --description=cli-snmp --organization=sun --contact=internal
  2. 部署配置。


    wadm> deploy-config --user=admin --password-file=admin.pwd 
    --host=serverhost --port=8989 config1
  3. 啟動伺服器實例。


    $ ./https-test/bin/startserv
  4. 以超級使用者身份執行主代理程式 (magt)。


    備註 –

    若要執行 magt,必須先停止本機 snmpd。



    $ cd /etc/init.d/
    		   $ init.dmi stop; init.snmpdx stop; init.sma stop

    移除檔案 https-admserv/config/logs/pid.masteragt (如果存在)。


    $ rm ./https-admserv/config/logs/pid.masteragt
        	   wadm>  start-snmp-master-agent --snmp-port 161 hostname
  5. 啟動子代理程式。

    移除檔案 https-admserv/config/logs/pid.httpagt (如果存在)。


    $ rm ./https-admserv/config/logs/pid.httpagt

    強制結束 httpagt (如果它已執行)。


    wadm> start-snmp-subagent hostname

Procedure在 Linux 上啟動 SNMP

  1. 配置 SNMP 參數。

    設定配置的 SNMP 參數。


    wadm> enable-snmp --user=admin --password-file=../admin.passwd 
    --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null 
    --config=config1 --loconfig1ion=india --master-host=hostname 
    --description=cli-snmp --organization=sun --contact=internal
  2. 部署配置。


    wadm deploy-config --user=admin --password-file=admin.pwd 
    --host=serverhost --port=8989 config1
  3. 啟動伺服器實例。


    $ ./https-test/bin/startserv
  4. 以超級使用者身份執行本機主代理程式 (snmpd)。

    若要允許使用 snmpd 進行直接通訊,請在 /etc/snmp/snmpd.conf 中增加下一行,然後重新啟動 snmpd。

    smuxpeer 1.3.6.1.4.1.42.2.190.1

    view systemview included .1.3.6.1.4.1.42.2.190.1


    # cd /etc/init.d/
          # ./snmpd stop
          # ./snmpd start
  5. 啟動子代理程式。

    移除檔案 https-admserv/config/logs/pid.httpagt (如果存在)。


    $ rm ./https-admserv/config/logs/pid.httpagt

    強制結束 httpagt (如果它已執行)。


    wadm> start-snmp-subagent hostname

Procedure在 Windows 上啟動 SNMP

  1. 配置 SNMP 參數。

    設定配置的 SNMP 參數。


    wadm> enable-snmp --user=admin --password-file=../admin.passwd 
    --host=serverhost --port=8989 --ssl=true --no-prompt --rcfile=null 
    --config=config1 --loconfig1ion=india --master-host=hostname 
    --description=cli-snmp --organization=sun --contact=internal
  2. install-root/ lib 目錄增加至系統路徑環境變數。

  3. 重新啟動機器。

  4. 使用 Windows 服務選項啟動 Web 伺服器實例。

  5. 啟動 SNMP 服務。


    備註 –

    以非超級使用者的身份安裝管理伺服器時,您將無法透過管理介面啟動 SNMP 主代理程式。若要讓非超級使用者管理伺服器使用者能夠透過管理介面啟動主代理程式,非超級使用者使用者必須取得相關權限,才能使用 RBAC 連結至有特殊權限的連接埠,即 SNMP 主代理程式執行所在的連接埠。預設的 SMUX 連接埠為 199,而預設的 SNMP 連接埠為 161。

    另一個解決方法就是使用下列指令,以超級使用者身份手動啟動主代理程式:magt CONFIG INIT The magt command is located under server-root/lib/snmp/magt/


Procedure配置基於對等端的主代理程式 (magt)

藉由執行下列步驟,您可以配置基於對等端的主代理程式,以便與 Solaris 10 和 Linux 的作業系統本機主代理程式整合。


備註 –

Solaris 10 作業系統本機主代理程式為 snmpd。根據預設,它會在 SNMP 預設 UDP 連接埠 161 上執行。您可以使用 /etc/sma/snmp/snmpd.conf 檔案加以配置。還提供代理指令,用於將請求/回應轉寄至其他主代理程式或子代理程式。如需更多資訊,請參閱 snmpd.conf 線上手冊。

Solaris 8 和 9 沒有與作業系統本機主代理程式 snmpd 完全整合。對於 linux,httpagt 可直接與 snmpd 整合。在這種情況下,不需要執行 magt。對於 Windows,Sun Java System Web Server snmp 程式庫直接與 Windows SNMP 服務通訊。


  1. 啟動主代理程式,按上述備註所述指定 SNMP 連接埠 (11161)。

  2. 在 /etc/sma/snmp/snmpd.conf 中為 Solaris 10 增加下列內容。


    proxy -v 1 -c public myserver:11161 .1.3.6.1.4.1.42.2.190.1
  3. 重新啟動 snmpd。


    # cd /etc/init.d
    # init.dmi stop; init.snmpdx stop; init.sma stop
    # init.dmi start; init.snmpdx start; init.sma start
  4. 若要取得 SNMP 資料,請在連接埠上使用 snmpwalk:


    $ snmpwalk -c public -v 1 <host-name>:<port> 1.3.6.1.4.1.42.2.190.1

設定伺服器的記錄

管理伺服器記錄檔記錄關於伺服器的資料,包括遇到的錯誤類型以及關於伺服器存取的資訊。檢視這些記錄可讓您監視伺服器作業,並透過提供資料 (如遇到的錯誤類型以及存取某些檔案的時間) 來排解問題。

您可以使用管理主控台中的 [記錄喜好設定] 頁面,指定記錄在管理伺服器記錄中的資料類型及格式。例如,您可以選擇記錄存取管理伺服器的每個用戶端的相關資料,也可以略過一些用戶端,不予記錄。此外,您還可以選擇常用記錄格式 (可提供固定數量的伺服器資訊),或建立自訂記錄檔格式,以更好地滿足需求。

記錄類型

記錄類型大體可分為:

  1. 存取記錄 — 存取記錄可記錄有關向伺服器發出之請求以及伺服器之回應的資訊。

  2. 伺服器記錄 — 伺服器記錄可列出自建立記錄檔後,伺服器所遇到的所有錯誤。它也包含有關伺服器的資訊訊息,如啟動伺服器的時間與嘗試登入伺服器不成功的使用者。

檢視存取記錄及伺服器記錄

上述指令中的開始日期選項和結束日期選項應採用格式 — dd/MM/yyyy:HH:mm:ss。您也可以自訂日期格式。您可以在 rcfile 中使用變數 wadm_log_date_format 指定自己的日期格式,而非使用預設日期格式。

在 Sun Java System Web Server 中,您可透過執行下列指令來啟用存取記錄:

enable-access-log --user=admin --host=serverhost --password-file=../admin.passwd --port=8989 --ssl=true --no-prompt --rcfile=null --config=config1 --vs=vs --uri-pattern="*.html" --file=../logs/access.new --log-ip=true--format="%Req->reqpb. protocol% %Req->headers.authorization% %vsid% %Ses->client.dns%"

配置記錄參數

若要啟用與編輯配置的記錄設定,請執行以下作業:

  1. 按一下 [配置] 標籤

  2. 選取您需要為其啟用/編輯記錄設定的配置。

  3. 按一下 [一般設定] 標籤 > [記錄設定] 標籤

編輯存取記錄喜好設定

下表說明了 [存取記錄喜好設定] 區段中的欄位:

表 13–5 欄位說明 > 編輯存取記錄喜好設定

欄位

說明

存取記錄

已啟用/已停用。依預設,存取記錄已啟用。選取此選項可以停用存取記錄。請注意,啟用存取記錄將使伺服器效能有較小幅度的下降。

檔案位置

儲存存取記錄檔的伺服器路徑。預設值為 ../logs/access

記錄格式

  1. 使用常用記錄格式 — 此選項為記錄檔的預設格式類型。伺服器將記錄從請求標頭中擷取的最相關資訊。

    常用記錄格式為 IP address — user [date] “request” status content-length

  2. 僅記錄以下詳細資訊 — 使用此選項即可只記錄請求標頭中的特定值。下列值可供核取:

    • 用戶端主機名稱

    • 系統日期

    • HTTP 狀態

    • HTTP 標頭

    • HTTP 方法

    • 查詢字串

    • 虛擬伺服器名稱

    • 認證的使用者名稱

    • 完整的 HTTP 請求

    • 內容長度

    • 請求 URI

    • 協定

編輯伺服器記錄喜好設定

下表說明 [伺服器記錄喜好設定] 區段中的欄位:

表 13–6 欄位說明 > 編輯伺服器記錄喜好設定

欄位

說明

伺服器記錄位置

儲存伺服器記錄檔的伺服器路徑。預設值為 ../logs/errors

記錄詳細度層級

此選項為您提供設定記錄詳細度的簡單方法。若要測試 Web 應用程式並對其進行除錯,建議使用 finest 層級。

對於生產環境,建議的記錄級別為 failuresecuritycatastrophe 記錄層級將記錄非常少的詳細資訊。

記錄虛擬伺服器名稱

如果選取此選項,則在記錄錯誤的同時,還會記錄處理請求的虛擬伺服器名稱。 

記錄至系統記錄檔

將所有訊息記錄至系統記錄檔。 

記錄至主控台

如果選取此選項,則會記錄由已部署 Web 應用程式引起的異常 (如果寫入 主控台 中)。

依預設,此選項為啟用狀態。 

日期格式

用來將時間戳記附加至錯誤訊息的時間格式。預設值為 [%d/%b/%Y:%H:%M:%S]

歸檔記錄檔

您可以將記錄檔設定為自動歸檔。在某一時間,或在指定間隔後,伺服器將自動重建存取記錄。伺服器會儲存舊記錄檔,並使用包含其儲存日期和時間的名稱標示已儲存的檔案。

例如您可以將檔案設定為每小時自動重建一次,並且伺服器儲存檔案並將其命名為「access.199907.0152400」,其中,「名稱|年|月|日|24 小時制時間」會鏈結為單一字元串。依據您設定之記錄自動重建類型的不同,存取記錄歸檔檔案的確切格式也會不同。

存取記錄自動重建在伺服器啟動時初始化。如果開啟自動重建,則伺服器將建立具有時間戳記的存取記錄檔,而且伺服器啟動時就會開始自動重建。

開始自動重建後,當產生需要記錄到存取記錄檔的請求,而且產生時間在先前排定的「下一個自動重建時間」之後時,伺服器會建立具有新時間戳記的存取記錄檔。

設定記錄自動重建

您可以使用記錄自動重建選項排定已配置實例的錯誤/存取記錄自動重建。若要設定記錄自動重建,請執行以下步驟:

  1. 按一下 [配置] 標籤

  2. 選取您需要為其啟用/編輯記錄設定的配置。

  3. 按一下 [一般設定] 標籤 > [記錄設定] 標籤

  4. 按一下 [記錄歸檔] 區段下的 [新增] 按鈕

以下小節中說明了新增記錄自動重建頁面中的欄位:

表 13–7 欄位說明 > 設定記錄自動重建

欄位

說明

事件

存取記錄自動重建/伺服器記錄自動重建。選取這兩個選項之一或同時選取二者,以為該記錄類型配置自動重建。

時間

配置的事件啟動時間。從下拉式方塊中選取小時和分鐘值。 

每一天 — 每天在指定的時間啟動指定的事件。

特定日期 — 在特定日期啟動指定的事件。

1. 星期幾 — 指定星期日到星期六之間的任一天。

2. 日期 — 以逗號分隔的項目指定每月 1 日到 31 日之間的任何一天。例如 4,23,9。

特定月份 — 在特定時間和月份啟動指定的事件。指定從 1 月至 12 月之間的月份。

間隔

在此時間段之後啟動指定的事件。 

1. 間隔小時數 — 從下拉式方塊中選取小時數。

2. 間隔秒數 — 從下拉式方塊中選取秒數。

如需刪除排定的記錄自動重建,請按一下 [記錄歸檔] 區段中的 [刪除] 按鈕。

歸檔指令

您可以在伺服器自動重建記錄檔後,指定指令的絕對路徑。記錄檔自動重建後的檔案名稱會做為歸檔指令的引數傳送。歸檔指令也會壓縮已自動重建的記錄檔。

配置管理伺服器的記錄設定

管理伺服器將記錄使用 Administration Console 執行的所有配置變更。所記錄的一些常見動作包括建立新配置、建立虛擬伺服器和配置實例設定。但是,配置層級詳細資訊 (如存取 Web 應用程式或在存取 Web 應用程式時發生的異常) 將由配置單獨記錄。

Procedure修改伺服器記錄位置

  1. 按一下 [管理伺服器] > [一般] 標籤

  2. 移至 [記錄喜好設定] 區段

  3. 編輯 [伺服器記錄位置] 欄位。

    儲存錯誤的記錄位置。提供用於維護記錄檔的有效伺服器路徑。還檢查管理伺服器是否具有在 UNIX 系統之指定目錄中寫入的權限。

    預設位置為 ../log/errors

Procedure修改記錄詳細度級別

  1. 按一下 [管理伺服器] > [一般] 標籤

  2. 移至 [記錄喜好設定] 區段

  3. 選取 [記錄詳細度級別]。

    此選項為您提供設定記錄詳細度的簡單方法。對於測試和除錯,建議的級別為 finest

    對於生產環境,建議的記錄級別為 failuresecuritycatastrophe 記錄層級將記錄非常少的詳細資訊。

Procedure修改記錄的日期格式

  1. 按一下 [管理伺服器] > [一般] 標籤

  2. 移至 [記錄喜好設定] 區段

  3. 編輯 [日期格式] 欄位。

    用來將時間戳記附加至錯誤訊息的時間格式。預設值為 [%d/%b/%Y:%H:%M:%S]