Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

第 16 章 監視元件和服務

本章包含有關使用 Application Server 管理主控台 來監視元件的資訊。本章包括下列小節:

關於監視

監視 Application Server

使用監視功能可以觀察在 Application Server 的伺服器實例中所部署的各種元件和服務的執行階段狀態。利用有關執行階段元件和程式狀態的資訊,可以確定效能瓶頸以便進行調校、和容量規劃、預測故障、在發生故障時分析根本原因,以及確保一切執行正常。

啟用監視功能會因增加系統耗用而使效能降低。

監視概述

若要監視 Application Server,請執行以下步驟:

  1. 使用 管理主控台 或 asadmin 工具啟用對特定服務和元件的監視功能。

    如需有關此步驟的更多資訊,請參閱有關啟用和停用監視功能的 管理主控台 作業

  2. 使用 管理主控台 或 asadmin 工具檢視指定服務或元件的監視資料。

    如需有關此步驟的更多資訊,請參閱有關檢視監視資料的 管理主控台 作業

關於可監視物件的樹狀結構

Application Server 使用樹狀結構追蹤可監視物件。由於監視物件的樹是動態的,因此在實例中增加、更新或移除元件時該樹會相應地發生變更。樹狀結構中的根物件是伺服器實例名稱 (例如 server)。(在 Platform Edition 中,僅允許使用一個伺服器實例。)

以下指令顯示了樹的頂層:


asadmin> list --user adminuser --monitor server
server.applications
server.http-service
server.connector-service
server.jms-service
server.jvm
server.orb
server.resources
server.thread-pools

以下小節描述了這些子樹:

應用程式樹

以下示意圖顯示了企業應用程式的各種元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。如需更多資訊,請參閱EJB 容器統計資訊


範例 16–1 應用程式節點樹狀結構

applications
   |--- application1
   |    |--- ejb-module-1
   |    |        |--- ejb1 *
   |    |                  |--- cache (for entity/sfsb) *
   |    |                  |--- pool (for slsb/mdb/entity) *
   |    |                  |--- methods
   |    |                       |---method1 *
   |    |                       |---method2 *
   |    |                  |--- stateful-session-store (for sfsb)*
   |    |                  |--- timers (for s1sb/entity/mdb) *
   |    |--- web-module-1
   |    |        |--- virtual-server-1 *
   |    |                       |---servlet1  *
   |    |                       |---servlet2  *
   |--- standalone-web-module-1
   |    |        |----- virtual-server-2 *
   |    |                       |---servlet3 *
   |    |                       |---servlet4 *
   |    |        |----- virtual-server-3 *
   |    |                       |---servlet3 *(same servlet on different vs)
   |    |                       |---servlet5 *
   |--- standalone-ejb-module-1
   |    |        |--- ejb2 *
   |    |                  |--- cache (for entity/sfsb) *
   |    |                  |--- pool (for slsb/mdb/entity) *
   |    |                  |--- methods
   |    |                       |--- method1 *
   |    |                       |--- method2 *
   |--- application2

HTTP 服務樹

以下示意圖顯示了 HTTP 服務的節點。具有可用的監視資訊的節點標有星號 (*)。請參閱HTTP 服務統計資訊


範例 16–2 HTTP 服務示意圖 (Platform Edition 版)

http-service
         |--- virtual-server-1
              |--- http-listener-1 *
              |--- http-listener-2 *
         |--- virtual-server-2
              |--- http-listener-1 *
              |--- http-listener-2 *


範例 16–3 HTTP 服務示意圖 (Enterprise Edition 版)

http-service *
             |---connection-queue *
             |---dns *
             |---file-cache *
             |---keep-alive *
             |---pwc-thread-pool *
             |---virtual-server-1*
             |        |--- request *
             |---virtual-server-2*
             |        |--- request *

資源樹

資源節點包含 JDBC 連線池和連接器連線池等池的可監視屬性。以下示意圖顯示了各種資源元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱JDBC 連線池統計資訊


範例 16–4 資源示意圖

resources
        |---connection-pool1(either connector-connection-pool or jdbc)*
        |---connection-pool2(either connector-connection-pool or jdbc)*

連接器服務樹

連接器服務節點包含連接器連線池等池的可監視屬性。以下示意圖顯示了各種連接器服務元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱JMS/連接器服務統計資訊


範例 16–5 連接器服務示意圖

connector-service
        |--- resource-adapter-1
        |        |-- connection-pools
        |        |        |-- pool-1 (All pool stats for this pool)
        |        |-- work-management (All work mgmt stats for this RA)

JMS 服務樹

JMS 服務節點包含連接器連線池等池的可監視屬性。以下示意圖顯示了各種 JMS 服務元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。


範例 16–6 JMS 服務示意圖

jms-service
        |-- connection-factories [AKA conn. pools in the RA world]
        |        |-- connection-factory-1 (All CF stats for this CF)
        |-- work-management (All work mgmt stats for the MQ-RA)

ORB 樹

ORB 節點包含連線管理員的可監視屬性。以下示意圖顯示了 ORB 元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱ORB 中連線管理程式的統計資訊


範例 16–7 ORB 示意圖

orb
        |--- connection-managers
        |        |--- connection-manager-1 *
        |        |--- connection-manager-1 *

執行緒池樹

執行緒池節點包含連線管理程式的可監視屬性。以下示意圖顯示了 ORB 元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱執行緒池統計資訊


範例 16–8 執行緒池示意圖

thread-pools
        |    |--- thread-pool-1 *
        |    |--- thread-pool-2 *

關於受監視的元件和服務的統計資訊

本小節描述可用的監視統計資訊:

EJB 容器統計資訊

下表說明 EJB 統計。

表 16–1 EJB 統計資訊

屬性名稱 

資料類型 

說明 

createcount

計數統計資訊 

呼叫 EJB 的 create 方法的次數。

removecount

計數統計資訊 

呼叫 EJB 的 remove 方法的次數。

pooledcount

範圍統計 

處於匯集狀態的實體 Bean 的數目。 

readycount

範圍統計 

處於就緒狀態的實體 Bean 的數目。 

messagecount

計數統計資訊 

訊息導引 Bean 收到的訊息數。 

methodreadycount

範圍統計 

處於 MethodReady 狀態的有狀態或無狀態階段作業 Bean 的數目。

passivecount

範圍統計 

處於 Passive 狀態的有狀態階段作業 Bean 的數目。

下表中列出了可用於 EJB 方法呼叫的統計。

表 16–2 EJB 方法統計資訊

屬性名稱 

資料類型 

說明 

methodstatistic

時間統計 

作業被呼叫的次數;呼叫期間所花費的總時間等資訊。 

totalnumerrors

計數統計資訊 

執行方法導致異常的次數。如果為 EJB 容器啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 而收集的。 

totalnumsuccess

計數統計資訊 

方法成功執行的次數。如果為 EJB 容器啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 收集的。 

executiontime

計數統計資訊 

上次成功/不成功嘗試執行方法作業所花費的時間 (ms)。如果在 EJB 容器中啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 而收集的。 

下表中列出了 EJB 階段作業儲存的統計。

表 16–3 EJB 階段作業儲存統計

屬性名稱 

資料類型 

說明 

currentSize

範圍統計 

目前位於儲存中的鈍化階段作業數或檢查點階段作業數。 

activationCount

計數統計資訊 

從儲存中啟動的階段作業數。 

activationSuccessCount

計數統計資訊 

從儲存中成功啟動的階段作業數 

activationErrorCount

計數統計資訊 

上次成功/不成功嘗試執行方法作業所花費的時間 (ms)。如果在 EJB 容器中啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 而收集的。 

passivationCount

計數統計資訊 

使用此儲存鈍化 (取消啟動) 的階段作業數。 

passivationSuccessCount

計數統計資訊 

使用此儲存成功鈍化的階段作業數。 

passivationErrorCount

計數統計資訊 

無法使用此儲存鈍化的階段作業數。 

expiredSessionCount

計數統計資訊 

此儲存移除的過期階段作業數。 

passivatedBeanSize

計數統計資訊 

由此儲存鈍化的總位元組數,包括總數、最小值和最大值。 

passivationTime

計數統計資訊 

將 Bean 鈍化到儲存所花費的時間,包括總時間值、最小值和最大值。 

checkpointCount (僅限於 EE)

計數統計資訊 

使用此儲存進行階段作業檢查點操作的階段作業數。 

checkpointSuccessCount (僅限於 EE)

計數統計資訊 

成功進行檢查點操作的階段作業數。 

checkpointErrorCount (僅限於 EE)

計數統計資訊 

無法進行檢查點操作的階段作業數。 

checkpointedBeanSize (僅限於 EE)

值統計 

由該儲存進行檢查點操作的 Bean 的總數。 

checkpointTime (僅限於 EE)

時間統計 

通過檢查點操作將 Bean 放入儲存中所花費的時間。 

下表中列出了可用於 EJB 池的統計。

表 16–4 EJB 池統計資訊

屬性名稱 

資料類型 

說明 

numbeansinpool

限制範圍統計 

相關聯池中的 EJB 數,可提供有關池的變更方式的資訊。 

numthreadswaiting

限制範圍統計 

等待自由 Bean 的執行緒數,指出請求可能擁塞。 

totalbeanscreated

計數統計資訊 

從開始收集資料以來相關聯池中所建立的 Bean的數目。 

totalbeansdestroyed

計數統計資訊 

自開始收集資料以來從相關聯池中銷毀的 Bean 的數目。 

jmsmaxmessagesload

計數統計資訊 

針對要服務的訊息導引 Bean 而一次載入 JMS 階段作業的最大訊息數。預設值為 1。僅套用於訊息導引 Bean 的池。 

下表中列出了可用於 EJB 快取的統計。

表 16–5 EJB 快取統計

屬性名稱 

資料類型 

說明 

cachemisses

限制範圍統計 

使用者請求未在快取中找到 Bean 的次數。 

cachehits

限制範圍統計 

使用者請求找到快取記憶體中某個項目的次數。 

numbeansincache

限制範圍統計 

快取記憶體中 Bean 的數目。這便是快取記憶體目前的大小。 

numpassivations

計數統計資訊 

鈍化 Bean 的數目。僅套用於有狀態階段作業 Bean。 

numpassivationerrors

計數統計資訊 

鈍化期間發生的錯誤數。僅套用於有狀態階段作業 Bean。 

numexpiredsessionsremoved

計數統計資訊 

清除執行緒所移除的過期階段作業數目。僅套用於有狀態階段作業 Bean。 

numpassivationsuccess

計數統計資訊 

鈍化成功完成的次數。僅套用於有狀態階段作業 Bean。 

下表中列出了可用於計時器的統計。

表 16–6 計時器統計資訊

統計資訊 

資料類型 

說明 

numtimerscreated

計數統計資訊 

系統中建立的計時器的數目。 

numtimersdelivered

計數統計資訊 

系統所傳送的計時器的數目。 

numtimersremoved

計數統計資訊 

從系統中移除的計時器的數目。 

Web 容器統計資訊

物件樹狀結構中包含了 Web 容器,如應用程式樹所示。系統為每個單獨的 Web 應用程式都顯示了 Web 容器統計資訊。Web 容器統計資訊中列出了可用於 Servlet 的 Web 容器的統計,Web 容器統計資訊中列出了可用於 Web 模組的統計。

表 16–7 Web 容器 (Servlet) 統計資訊

統計資訊 

單位 

資料類型 

注釋 

errorcount

數目 

計數統計資訊 

回應碼大於或等於 400 的情況的累積次數。 

maxtime

毫秒 

計數統計資訊 

Web 容器等待請求的最長時間。 

processingtime

毫秒 

計數統計資訊 

處理每個請求所需時間的累積值。處理時間是總請求處理時間除以請求計數所得的平均值。 

requestcount

數目 

計數統計資訊 

到目前為止所處理的請求總數。 

Web 容器統計資訊中列出了可用於 Web 模組的統計。

表 16–8 Web 容器 (Web 模組) 統計資訊

統計資訊 

資料類型 

注釋 

jspcount

計數統計資訊 

已載入 Web 模組的 JSP 頁面的數目。 

jspreloadcount

計數統計資訊 

已重新載入 Web 模組的 JSP 頁面的數目。 

sessionstotal

計數統計資訊 

已為 Web 模組建立的階段作業總數。 

activesessionscurrent

計數統計資訊 

Web 模組的目前處於使用中狀態的階段作業數。 

activesessionshigh

計數統計資訊 

Web 模組的同時處於使用中狀態的階段作業最大數。 

rejectedsessionstotal

計數統計資訊 

Web 模組的被拒絕的階段作業總數。是指由於允許處於使用中狀態的階段作業數已達到最大值而未被建立的階段作業數。 

expiredsessionstotal

計數統計資訊 

Web 模組的已過期階段作業的總數。 

sessionsize (僅限於 EE)

平均範圍統計 

Web 模組的階段作業大小。值可以為大、小或平均值,或以位元組為單位 (用於串列化階段作業)。 

containerlatency (僅限於 EE)

平均範圍統計 

整個延時請求中 Web 容器部分的延時。值可以是長、短或平均值。 

sessionpersisttime (僅限於 EE)

平均範圍統計 

將 HTTP 階段作業狀態保持到 Web 模組的後端儲存中所花費的時間 (以 ms 為單位,短、長或平均值)。 

cachedsessionscurrent (僅限於 EE)

計數統計資訊 

快取在記憶體中用於 Web 模組的目前階段作業數。 

passivatedsessionscurrent (僅限於 EE)

計數統計資訊 

Web 模組的目前已鈍化的階段作業數。 

HTTP 服務統計資訊

HTTP 服務統計資訊 中列出了可用於 HTTP 服務的統計。這些統計資訊僅適用於 Platform Edition。如需有關 Enterprise Edition 上的 HTTP 服務的統計,請參閱生產 Web 容器 (PWC) 統計資訊

表 16–9 HTTP 服務統計資訊 (僅適用於 Platform Edition)

統計資訊 

單位 

資料類型 

注釋 

bytesreceived

位元組 

計數統計資訊 

每個請求處理器接收到的位元組累積值。 

bytessent

位元組 

計數統計資訊 

每個請求處理器所傳送的位元組累積值。 

currentthreadcount

數目 

計數統計資訊 

目前位於偵聽程式執行緒池中的處理執行緒數。 

currentthreadsbusy

數目 

計數統計資訊 

處理請求的偵聽程式執行緒池中目前正在使用的請求處理執行緒的數目。 

errorcount

數目 

計數統計資訊 

錯誤計數的累積值,錯誤計數是指回應碼大於或等於 400 這類情況發生的次數。 

maxsparethreads

數目 

計數統計資訊 

可以存在的未使用回應處理執行緒的最大數目。 

minsparethreads

數目 

計數統計資訊 

可以存在的未使用回應處理執行緒的最小數目。 

maxthreads

數目 

計數統計資訊 

偵聽程式所建立的請求處理執行緒的最大數目。 

maxtime

毫秒 

計數統計資訊 

處理執行緒的最長時間。 

processing-time

毫秒 

計數統計資訊 

處理每個請求所花費時間的累積值。處理時間是總請求處理時間除以請求計數所得的平均值。 

request-count

數目 

計數統計資訊 

到目前為止所處理的請求總數。 

JDBC 連線池統計資訊

用於在執行階段監視 JDBC 資源,以測量效能並擷取資源使用情況。由於建立 JDBC 連線的成本很高並且常常會導致應用程式出現效能瓶頸問題,因此對 JDBC 連線池如何釋放和建立新連線以及正在等待從特定池中擷取連線的執行緒數的監視是至關重要的。

下表中列出了可用於 JDBC 連線池的統計。

表 16–10 JDBC 連線池統計

統計資訊 

單位 

資料類型 

說明 

numconnfailedvalidation

數目 

計數統計資訊 

從開始時間到上次取樣時間為止在連線池中驗證失敗的連線總數。 

numconnused

數目 

範圍統計 

提供連線使用統計資訊。目前正使用的連線總數,以及有關使用過的連線的最大數目的資訊 (高水印)。 

numconnfree

數目 

範圍統計 

上次取樣時池中的自由連線總數。 

numconntimedout

數目 

限制範圍統計 

開始時間與上次取樣時間之間池中的逾時連線總數。 

averageconnwaittime

數目 

計數統計資訊 

指示嘗試與連接器連線池建立成功連線請求的平均等待時間。 

waitqueuelength

數目 

計數統計資訊 

佇列中正在等待處理的連線請求數。 

connectionrequestwaittime

 

範圍統計 

連線請求的最長和最短等待時間。目前值表示上次由池處理的請求的等待時間。 

numconncreated

毫秒 

計數統計資訊 

自上次重設以來建立的實體連線數。 

numconndestroyed

數目 

計數統計資訊 

自上次重設以來已銷毀的實體連線數。 

numconnacquired

數目 

計數統計資訊 

從池中獲取的邏輯連線數。 

numconnreleased

數目 

計數統計資訊 

釋放到池中的邏輯連線數。 

JMS/連接器服務統計資訊

JMS/連接器服務統計資訊中列出了可用於連接器連線池的統計。JMS/連接器服務統計資訊中列出了連接器工作管理的統計。

表 16–11 連接器連線池統計資訊

統計資訊 

單位 

資料類型 

說明 

numconnfailedvalidation

數目 

計數統計資訊 

從開始時間到上次取樣時間為止在連線池中驗證失敗的連線總數。 

numconnused

數目 

範圍統計 

提供連線使用統計資訊。目前正使用的連線總數,以及有關使用過的連線的最大數目的資訊 (高水印)。 

numconnfree

數目 

範圍統計 

上次取樣時池中的自由連線總數。 

numconntimedout

數目 

計數統計資訊 

開始時間與上次取樣時間之間池中的逾時連線總數。 

averageconnwaittime

數目 

計數統計資訊 

連線由連線池處理之前的平均等待時間。 

waitqueuelenght

數目 

計數統計資訊 

佇列中正在等待處理的連線請求數。 

connectionrequestwaittime

 

範圍統計 

連線請求的最長和最短等待時間。目前值表示上次由池處理的請求的等待時間。 

numconncreated

毫秒 

計數統計資訊 

自上次重設以來建立的實體連線數。 

numconndestroyed

數目 

計數統計資訊 

自上次重設以來已銷毀的實體連線數。 

numconnacquired

數目 

計數統計資訊 

從池中獲取的邏輯連線數。 

numconnreleased

數目 

計數統計資訊 

釋放到池中的邏輯連線數。 

JMS/連接器服務統計資訊中列出了可用於連接器工作管理的統計。

表 16–12 連接器工作管理統計資訊

統計資訊 

資料類型 

說明 

activeworkcount

範圍統計 

由連接器執行的工作物件數。 

waitqueuelength

範圍統計 

執行前在佇列中等待的工作物件數。 

workrequestwaittime

範圍統計 

工作物件在被執行前所等待的最長和最短時間。 

submittedworkcount

計數統計資訊 

由連接器模組提交的工作物件數。 

rejectedworkcount

計數統計資訊 

Application Server 拒絕的工作物件數。 

completedworkcount

計數統計資訊 

完成的工作物件數。 

ORB 中連線管理程式的統計資訊

ORB 中連線管理程式的統計資訊中列出了可用於 ORB 中連線管理員的統計。

表 16–13 ORB 中連線管理程式的統計資訊

統計資訊 

單位 

資料類型 

說明 

connectionsidle

數目 

計數統計資訊 

提供與 ORB 的閒置連線的總數。 

connectionsinuse

數目 

計數統計資訊 

提供 ORB 的使用中連線總數。 

totalconnections

數目 

限制範圍統計 

與 ORB 的連線總數。 

執行緒池統計資訊

下表中列出了可用於執行緒池的統計。

表 16–14 執行緒池統計資訊

統計資訊 

單位 

資料類型 

說明 

averagetimeinqueue

毫秒 

範圍統計 

在得到處理之前請求在佇列中等待的平均時間 (以毫秒為單位)。 

averageworkcompletion-time

毫秒 

範圍統計 

完成指定所花費的平均時間 (以毫秒為單位)。 

currentnumberofthreads

數目 

限制範圍統計 

目前的請求處理執行緒的數目。 

numberofavailablethreads

數目 

計數統計資訊 

可用的執行緒數。 

numberofbusythreads

數目 

計數統計資訊 

處於忙碌狀態的執行緒數。 

totalworkitemsadded

數目 

計數統計資訊 

到目前為止增加到工作佇列中的工作項目總數。 

作業事件服務統計資訊

作業事件服務允許用戶端凍結作業事件子系統,以回復作業事件,並確定在凍結期間進行處理的作業事件。下表中列出了可用於作業事件服務的統計。

表 16–15 作業事件服務統計資訊

統計資訊 

資料類型 

說明 

activecount

計數統計資訊 

目前處於使用中狀態的作業事件數。 

activeids

字串統計資訊 

目前處於使用中狀態的作業事件的 ID。每個此類作業事件均可在凍結作業事件服務後轉返。 

committedcount

計數統計資訊 

已確定的作業事件數。 

rolledbackcount

計數統計資訊 

已轉返的作業事件數。 

state

字串統計資訊 

指示作業事件是否已凍結。 

Java 虛擬機器 (JVM) 統計資訊

JVM 具有始終處於啟用狀態的可監視屬性。下表中列出了可用於 JVM 的統計。

表 16–16 JVM 統計資訊

統計資訊 

資料類型 

說明 

heapsize

限制範圍統計 

包含 JVM 的記憶體堆疊大小上限和下限的常駐記憶體佔用空間。 

uptime

計數統計資訊 

JVM 已執行的時間。 

J2SE 5.0 中的 JVM 統計資訊

如果將 Application Server 配置為在 J2SE 5.0 版或更高版本上執行,則可以從 JVM 中取得附加監視資訊。將監視層級設定為 [低] 以啟用這些附加資訊的顯示。將監視層級設定為 [高] 還可以檢視與系統中每個活性執行緒相關的資訊。如需有關 J2SE 5.0 中可用的附加監視功能的更多資訊,請參閱以下位置中標題為「Monitoring and Management for the Java Platform」的文件:http://java.sun.com/j2se/1.5.0/docs/guide/management/

以下位置中論述了 J2SE 5.0 監視工具:http://java.sun.com/j2se/1.5.0/docs/tooldocs/#manage

J2SE 5.0 中的 JVM 統計資訊中列出了可用於在 J2SE 5.0 的 JVM 中進行類別載入的統計。

表 16–17 J2SE 5.0 的 JVM 統計資訊 - 類別載入

統計資訊 

資料類型 

說明 

loadedclasscount

計數統計資訊 

目前載入 JVM 的類別的數目。 

totalloadedclasscount

計數統計資訊 

自 JVM 開始執行以來已載入的類別的總數。 

unloadedclasscount

計數統計資訊 

自 JVM 開始執行以來已從 JVM 中卸載的類別的數目。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於在 J2SE 5.0 的 JVM 中進行編譯的統計。

表 16–18 J2SE 5.0 的 JVM 統計資訊 - 編譯

統計資訊 

資料類型 

說明 

totalcompilationtime

計數統計資訊 

編譯所花費的累積時間 (以毫秒為單位)。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於在 J2SE 5.0 的 JVM 中進行資源回收的統計。

表 16–19 J2SE 5.0 的 JVM 統計資訊 - 資源回收

統計資訊 

資料類型 

說明 

collectioncount

計數統計資訊 

已發生的回收的總數。 

collectiontime

計數統計資訊 

累積的收集時間 (以毫秒為單位)。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於 J2SE 5.0 的 JVM 中的記憶體的統計。

表 16–20 J2SE 5.0 的 JVM 統計資訊 - 記憶體

統計資訊 

資料類型 

說明 

objectpendingfinalizationcount

計數統計資訊 

擱置結束操作的物件的大約數目。 

initheapsize

計數統計資訊 

最初由 JVM 請求的堆疊的大小。 

usedheapsize

計數統計資訊 

目前正在使用的堆疊的大小。 

maxheapsize

計數統計資訊 

可用於記憶體管理的最大記憶體容量 (以位元組為單位)。 

committedheapsize

計數統計資訊 

確定可由 JVM 使用的記憶體容量 (以位元組為單位)。 

initnonheapsize

計數統計資訊 

最初由 JVM 請求的非堆疊區域的大小。 

usednonheapsize

計數統計資訊 

目前正在使用的非堆疊區域的大小。 

maxnonheapsize

計數統計資訊 

可用於記憶體管理的最大記憶體容量 (以位元組為單位)。 

committednonheapsize

計數統計資訊 

確定可由 JVM 使用的記憶體容量 (以位元組為單位)。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於 J2SE 5.0 的 JVM 中的作業系統的統計。

表 16–21 J2SE 5.0 的 JVM 統計資訊 - 作業系統

統計資訊 

資料類型 

說明 

arch

字串統計資訊 

作業系統架構。 

availableprocessors

計數統計資訊 

可用於 JVM 的處理器的數目。 

name

字串統計資訊 

作業系統名稱。 

version

字串統計資訊 

作業系統版本。 

J2SE 5.0 中的 JVM 統計資訊中顯示了可用於 J2SE 5.0 的 JVM 中的執行階段的統計。

表 16–22 J2SE 5.0 的 JVM 統計資訊 - 執行階段

統計資訊 

資料類型 

說明 

name

字串統計資訊 

表示正在執行的 JVM 的名稱 

vmname

字串統計資訊 

JVM 實作名稱。 

vmvendor

字串統計資訊 

JVM 實作供應商。 

vmversion

字串統計資訊 

JVM 實作版本。 

specname

字串統計資訊 

JVM 規格名稱。 

specvendor

字串統計資訊 

JVM 規格供應商。 

specversion

字串統計資訊 

JVM 規格版本。 

managementspecversion

字串統計資訊 

由 JVM 實作的管理規格版本。 

classpath

字串統計資訊 

系統類別載入器搜尋類別檔案時所使用的類別路徑。 

librarypath

字串統計資訊 

Java 程式庫路徑。 

bootclasspath

字串統計資訊 

啟動程式類別載入器搜尋類別檔案時所使用的類別路徑。 

inputarguments

字串統計資訊 

傳送給 JVM 的輸入引數。不包括 main 方法的引數。

uptime

計數統計資訊 

JVM 的正常執行時間 (以毫秒為單位)。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於 J2SE 5.0 的 JVM 中的 ThreadInfo 的統計。

表 16–23 J2SE 5.0 的 JVM 統計 — 執行緒資訊

統計資訊 

資料類型 

說明 

threadid

計數統計資訊 

執行緒 ID。 

threadname

字串統計資訊 

執行緒名稱。 

threadstate

字串統計資訊 

執行緒狀態。 

blockedtime

計數統計資訊 

執行緒進入 BLOCKED 狀態以來所經歷的時間 (以毫秒為單位)。如果已停用執行緒競爭狀態監視功能,則傳回 -1。

blockedcount

計數統計資訊 

執行緒進入 BLOCKED 狀態的總次數。

waitedtime

計數統計資訊 

執行緒處於 WAITING 狀態以來所經歷的時間 (以毫秒為單位)。如果已停用執行緒競爭狀態監視功能,則傳回 -1。

waitedcount

計數統計資訊 

執行緒處於 WAITINGTIMED_WAITING 狀態的總次數。

lockname

字串統計資訊 

監視鎖定的字串表示,表示執行緒被暫停而無法進入或執行緒正在透過 Object.wait 方法等待接收通知。

lockownerid

計數統計資訊 

包含某個物件的監視鎖定的執行緒 ID,該執行緒在該物件上發生區段化。 

lockownername

字串統計資訊 

包含某個物件的監視所定的執行緒名稱,該執行緒在該物件上發生區段化。 

stacktrace

字串統計資訊 

與該執行緒相關聯的堆疊追蹤。 

J2SE 5.0 中的 JVM 統計資訊中列出了可用於 J2SE 5.0 的 JVM 中的執行緒的統計。

表 16–24 J2SE 5.0 的 JVM 統計資訊 - 執行緒

統計資訊 

資料類型 

說明 

threadcount

計數統計資訊 

目前的活性常駐程式執行緒和非常駐程式執行緒數。 

peakthreadcount

計數統計資訊 

JVM 啟動或峰重設以來的峰活性執行緒計數。 

totalstartedthreadcount

計數統計資訊 

JVM 啟動以來建立和/或啟動的執行緒總數。 

daemonthreadcount

計數統計資訊 

目前的活性常駐程式執行緒數。 

allthreadids

字串統計資訊 

所有活性執行緒 ID 清單。 

currentthreadcputime

計數統計資訊 

如果已啟用 CPU 時間測量,則表示目前執行緒的 CPU 時間 (以納秒為單位)。如果已停用 CPU 時間測量,則傳回 -1。 

monitordeadlockedthreads

字串統計資訊 

處於監視死結狀態的執行緒 ID 清單。 

生產 Web 容器 (PWC) 統計資訊

可用於 Application Server Enterprise Edition (EE) 上的以下 PWC 元件和服務的統計:

生產 Web 容器 (PWC) 統計資訊中列出了 PWC 虛擬伺服器的統計。

表 16–25 PWC 虛擬伺服器統計資訊 (僅限於 EE)

屬性名稱 

資料類型 

說明 

id

字串統計資訊 

虛擬伺服器的 ID。 

mode

字串統計資訊 

虛擬伺服器所處的模式。選項包括 unknownactive

hosts

字串統計資訊 

由該虛擬伺服器提供服務的主機的名稱。 

interfaces

字串統計資訊 

配置了虛擬伺服器的介面 (偵聽程式) 的類型。 

下表中列出了可用於 PWC 請求的統計。

表 16–26 PWC 請求統計 (僅限於 EE)

屬性名稱 

資料類型 

說明 

method

字串統計資訊 

用於請求的方法。 

uri

字串統計資訊 

上一個被處理的 URI。 

countrequests

計數統計資訊 

已處理的請求數。 

countbytestransmitted

計數統計資訊 

傳輸的位元組數,如果此資訊不可用,則值為 0。 

countbytesreceived

計數統計資訊 

接收的位元組數,如果此資訊不可用,則值為 0。 

ratebytesreceived

計數統計資訊 

在某段伺服器定義的時間間隔內的資料接收速率,如果此資訊不可用,則值為 0 

maxbytestransmissionrate

計數統計資訊 

資料在某段伺服器定義的時間間隔內的最大傳輸速率,如果此資訊不可用,則值為 0。 

countopenconnections

計數統計資訊 

目前開啟的連線數,如果此資訊不可用,則值為 0。 

maxopenconnections

計數統計資訊 

同時開啟的連線的最大數目,如果此資訊不可用,則值為 0。 

count2xx

計數統計資訊 

代碼為 2XX 的回應的總數。 

count3xx

計數統計資訊 

代碼為 3XX 的回應的總數。 

count4xx

計數統計資訊 

代碼為 4XX 的回應的總數。 

count5xx

計數統計資訊 

代碼為 5XX 的回應的總數。 

countother

計數統計資訊 

具有其他回應代碼的回應總數。 

count200

計數統計資訊 

代碼為 200 的回應的總數。 

count302

計數統計資訊 

代碼為 302 的回應的總數。 

count304

計數統計資訊 

代碼為 304 的回應的總數。 

count400

計數統計資訊 

代碼為 400 的回應的總數。 

count401

計數統計資訊 

代碼為 401 的回應的總數。 

count403

計數統計資訊 

代碼為 403 的回應的總數。 

count404

計數統計資訊 

代碼為 404 的回應的總數。 

count503

計數統計資訊 

代碼為 503 的回應的總數。 

快取資訊小節提供了有關目前檔案快取的使用方式的資訊。下表列出了 PWC 檔案快取的統計。

表 16–27 PWC 檔案快取統計資訊 (僅限於 EE)

屬性名稱 

資料類型 

說明 

flagenabled

計數統計資訊 

指示是否啟用了檔案快取。禁用時有效值為 0,啟用時有效值為 1。 

secondsmaxage

計數統計資訊 

有效快取項目的最長存在時間 (以秒為單位)。 

countentries

計數統計資訊 

目前的快取項目數。單一快取項目表示單一 URI。 

maxentries

計數統計資訊 

同步式快取項目的最大數目。 

countopenentries

計數統計資訊 

與開啟的檔案關聯的項目數。 

maxopenentries

計數統計資訊 

與開啟的檔案關聯的同步式快取項目的最大數目。 

sizeheapcache

計數統計資訊 

用於快取內容的堆疊儲存區空間。 

maxheapcachesize

計數統計資訊 

用於快取檔案內容的最大堆疊儲存區空間。 

sizemmapcache

計數統計資訊 

記憶體對映的檔案內容所使用的位址空間大小。 

maxmmapcachesize

計數統計資訊 

檔案快取用於記憶體對映檔案內容的最大位址空間大小。 

counthits

計數統計資訊 

快取查找成功的次數。 

countmisses

計數統計資訊 

快取查找失敗的次數。 

countinfohits

計數統計資訊 

檔案資訊查找成功的次數。 

countinfomisses

計數統計資訊 

快取的檔案資訊遺失的數目。 

countcontenthits

計數統計資訊 

快取的檔案內容的命中次數。 

countcontentmisses

計數統計資訊 

檔案資訊查找失敗的次數。 

本小節提供有關伺服器的 HTTP 層級持續作用的系統的資訊。下表中列出了可用於 PWC 持續作用的統計。

表 16–28 PWC 持續作用統計 (僅限於 EE)

屬性名稱 

資料類型 

說明 

countconnections

計數統計資訊 

處於持續作用模式的連線數。 

maxconnections

計數統計資訊 

允許同步處於持續作用模式的最大連線數。 

counthits

計數統計資訊 

處於持續作用模式的連線隨後進行了有效請求的總次數。 

countflushes

計數統計資訊 

伺服器關閉持續作用的連線的次數。 

countrefusals

計數統計資訊 

可能由於有太多的持續性連線而使伺服器無法將連線傳送到持續作用執行緒的次數。 

counttimeouts

計數統計資訊 

伺服器因用戶端連線逾時且沒有任何活動而終止持續作用連線的次數。 

secondstimeout

計數統計資訊 

關閉閒置持續作用連線之前經歷的時間 (以秒為單位)。 

DNS 快取快取 IP 位妝M DNS 名稱。依預設,伺服器的 DNS 快取處於停用狀態。單一快取項目表示單一 IP 位址或 DNS 名稱查詢。下表中列出了可用於 PWC DNS 的統計。

表 16–29 PWC DNS 統計 (僅限於 EE)

屬性名稱 

資料類型 

說明 

flagcacheenabled

計數統計資訊 

指出 DNS 快取是否被啟用 (開啟)。禁用時為 0,啟用時為 1。 

countcacheentries

計數統計資訊 

目前位於快取中的 DNS 項目數。 

maxcacheentries

計數統計資訊 

快取中可容納的 DNS 項目的最大數目。 

countcachehits

計數統計資訊 

DNS 快取查找成功的次數。 

countcachemisses

計數統計資訊 

DNS 快取查找失敗的次數。 

flagasyncenabled

計數統計資訊 

指示是否啟用了非同步 DNS 查找。禁用時為 0,啟用時為 1。 

countasyncnamelookups

計數統計資訊 

非同步 DNS 名稱查找的總數。 

countasyncaddrlookups

計數統計資訊 

非同步 DNS 位妞d找的總數。 

countasynclookupsinprogress

計數統計資訊 

正在進行的非同步查找的數目。 

下表列出了 PWC 執行緒池的統計。

表 16–30 PWC 執行緒池統計資訊 (僅限於 EE)

屬性名稱 

資料類型 

說明 

id

字串統計資訊 

執行緒池 ID。 

countthreadsidle

計數統計資訊 

目前處於閒置狀態的請求處理執行緒數。 

countthreads

計數統計資訊 

目前的請求處理執行緒的數目。 

maxthreads

計數統計資訊 

可同時存在的請求處理執行緒的最大數目。 

countqueued

計數統計資訊 

佇列等候由此執行緒池進行處理的請求數。 

peakqueued

計數統計資訊 

佇列中同步容納的最大請求數。 

maxqueued

計數統計資訊 

佇列一次可容納的最大請求數。 

連線佇列是請求被處理前保存這些請求的佇列。連線佇列的統計資訊顯示佇列中的階段作業數以及連線被接受前的平均延遲。下表列出了 PWC 連線佇列的統計。

表 16–31 PWC 連線佇列統計資訊 (僅限於 EE)

屬性名稱 

資料類型 

說明 

id

字串統計資訊 

連線佇列的 ID。 

counttotalconnections

計數統計資訊 

已接受的連線總數。 

countqueued

計數統計資訊 

目前位於佇列中的連線數。 

peakqueued

計數統計資訊 

佇列中同步容納的最大連線數。 

maxqueued

計數統計資訊 

連線佇列的最大大小。 

countoverflows

計數統計資訊 

佇列太滿而無法容納連線的次數。 

counttotalqueued

計數統計資訊 

已佇列的連線總數。某個給定連線可能會被多次加入佇列,因此 counttotalqueued 可能大於或等於 counttotalconnections

tickstotalqueued

計數統計資訊 

連線在佇列中所花費的週期總數。週期是由系統決定的時間單位。 

countqueued1minuteaverage

計數統計資訊 

前 1 分鐘內處於佇列狀態的平均連線數。 

countqueued5minuteaverage

計數統計資訊 

前 5 分鐘內處於佇列狀態的平均連線數。 

countqueued15minuteaverage

計數統計資訊 

前 15 分鐘內處於佇列狀態的平均連線數。 

下表列出了 PWC HTTP服務的統計。

表 16–32 PWC HTTP 服務統計資訊 (僅限於 EE)

屬性名稱 

資料類型 

說明 

id

字串統計資訊 

HTTP 服務的實例名稱。 

versionserver

字串統計資訊 

HTTP 服務的版本編號。 

timestarted

字串統計資訊 

啟動 HTTP 服務的時間 (GMT)。 

secondsrunning

計數統計資訊 

HTTP 服務啟動以來所經歷的時間 (以秒為單位)。 

maxthreads

計數統計資訊 

每個實例中的最大工作者執行緒數。 

maxvirtualservers

計數統計資訊 

每個實例中可以配置的最大虛擬伺服器數目。 

flagprofilingenabled

計數統計資訊 

是否啟用了 HTTP 服務效能設定檔。有效值為 0 或 1。 

flagvirtualserveroverflow

計數統計資訊 

表示是否配置了多於 maxvirtualservers 的虛擬伺服器。如果設定為 1,則不會為所有的虛擬伺服器追蹤統計資料。

load1minuteaverage

計數統計資訊 

前 1 分鐘內請求的平均負載。 

load5minuteaverage

計數統計資訊 

前 5 分鐘內請求的平均負載。 

load15minuteaverage

計數統計資訊 

前 15 分鐘內請求的平均負載。 

ratebytestransmitted

計數統計資訊 

在某段伺服器定義的時間間隔內資料的傳輸速率。如果此資訊不可用,則結果為 0。 

ratebytesreceived

計數統計資訊 

在某段伺服器定義的時間間隔內資料的接收速率。如果此資訊不可用,則結果為 0。 

有關啟用和停用監視功能的 管理主控台 作業

Procedure使用 管理主控台 配置監視層級

  1. 存取 [監視服務] 頁面。若要完成此操作,請執行以下步驟:

    1. 在樹形元件中,展開 [配置] 節點。

    2. 在樹狀結構中,展開要配置為用於監視功能之伺服器實例的節點,例如 server-config

    3. 在樹中,選取 [監視]。

  2. 在 [監視服務] 頁面中,從要變更其監視層級的元件或服務相對的組合方塊中選擇適當的值。

    依預設,所有元件和服務的監視功能均處於關閉狀態。若要啟用監視功能,請在組合方塊中選取 [低] 或 [高]。若要關閉監視功能,請在組合方塊中選取 [關閉]。可以開啟或關閉以下元件和服務的監視功能:

    • JVM - 將此選項的監視層級設定為 [低],可監視 Java 虛擬機器。

    • HTTP 服務 - 將此選項的監視層級設定為 [低],可監視所有 HTTP 偵聽程式和虛擬伺服器。

    • 作業事件服務 - 將此選項的監視層級設定為 [低],可監視任意作業事件子系統。

    • JMS/連接器服務 - 將此選項的監視層級設定為 [低],可監視任意 Java 訊息服務 (JMS)。

    • ORB - 將此選項的監視層級設定為 [低],可監視由 Application Server 核心及其連線管理員使用的系統 ORB。

    • Web 容器 - 將此選項的監視層級設定為 [低],可監視所有已部署的 Servlet。

    • EJB 容器 - 將此選項的監視層級設定為 [低],可監視所有已部署的 EJB 元件、EJB 池和 EJB 快取。將此方法設定為 [高] 還可以監視 EJB 商業方法。

    • JDBC 連線池 - 將此選項的監視層級設定為 [低],可監視所有 JDBC 連線池。

    • 執行緒池 - 將此選項的監視層級設定為 [低],可監視所有執行緒池。

  3. 按一下 [儲存]。

    此版本中沒有 [附加監視服務特性],因此請忽略 [附加特性] 表。

等效的 asadmin 指令

set

例如,若要開啟對 HTTP 服務的監視功能,請使用以下 asadmin 指令︰

asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=LOW

Procedure使用 asadmin 工具配置監視功能

若要關閉監視功能,或設定監視元件或服務的層級,您可以依循使用 管理主控台 配置監視層級中的說明使用 管理主控台。

  1. 使用 get 指令可以查找目前已對哪些服務和元件啟用了監視功能:


    asadmin> get --user admin-user server.monitoring-service.module-monitoring-levels.*

    傳回:


    server.monitoring-service.module-monitoring-levels.
    connector-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.
    connector-service = OFF
    server.monitoring-service.module-monitoring-levels.ejb-container = OFF
    server.monitoring-service.module-monitoring-levels.http-service = OFF
    server.monitoring-service.module-monitoring-levels.jdbc-connection-pool = OFF
    server.monitoring-service.module-monitoring-levels.jms-service = OFF
    server.monitoring-service.module-monitoring-levels.jvm = OFF
    server.monitoring-service.module-monitoring-levels.orb = OFF
    server.monitoring-service.module-monitoring-levels.thread-pool = OFF
    server.monitoring-service.module-monitoring-levels.transaction-service = OFF
    server.monitoring-service.module-monitoring-levels.web-container = OFF
  2. 使用 set 指令可以啟用監視功能。

    例如,若要啟用對 HTTP 服務的監視功能,請輸入以下指令:


    asadmin> set --user admin-user 
    server.monitoring-service.module-monitoring-levels.http-service=LOW

    若要停用監視功能,請使用 set 指令並將監視層級指定為 OFF

有關檢視監視資料的 管理主控台 作業

Procedure在 管理主控台 中檢視監視資料

如需有關每個元件或服務之屬性的更多資訊,請參閱關於受監視的元件和服務的統計資訊

  1. 存取 [監視] 頁面。若要執行此作業,請:

    1. 在樹形元件中,展開 [獨立實例] 節點。

    2. 從清單中選取獨立伺服器實例,例如伺服器 (Admin Server)。

    3. 選取 [監視] 頁面。

    4. 在 [監視] 頁面上選取 [監視] 標籤。

  2. 在 [檢視] 清單中,選取已部署到伺服器實例並已為其啟用了監視功能的元件或服務。

    所選元件或服務的監視資料顯示在 [檢視] 欄位下。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊

    如果已針對 JVM、伺服器、執行緒池、HTTP 服務和作業事件服務啟用監視功能,則可以在此頁面中檢視這些元件和服務的監視資料。關於可監視物件的樹狀結構以圖解說明這些元件和服務的組織架構。

  3. 如果沒有在此清單中看到您要監視的元件或服務,請選取 [配置監視] 連結,以針對所選元件和服務啟用和停用監視功能。

    選取 [關閉] 以停用對元件或服務的監視功能。選取 [低] 或 [高],以針對元件或服務啟用監視功能。

    如需有關啟用和停用監視功能的更多資訊,請參閱使用 管理主控台 配置監視層級使用 asadmin 工具配置監視功能

  4. 選取 [監視] 頁面的 [應用程式] 標籤,以檢視部署至伺服器實例並已啟用監視功能的應用程式元件的監視資料。從 [應用程式] 清單中選取應用程式。從 [元件] 清單中選取特定元件。

    如果未顯示應用程式或元件的監視資料,請選取 [配置監視] 連結,以針對元件或服務啟用或停用監視功能。若要監視應用程式,請開啟執行這些應用程式的容器。例如,針對 Web 應用程式的 Web 容器和/或 EJB 應用程式的 EJB 容器選取 [低] 或 [高]。

    如果未顯示應用程式的監視資料,則該應用程式很可能不存在或未執行。僅當應用程式存在、其監視功能已啟用且正在運行時,應用程式監視資料才可用。執行了應用程式後,將在監視註冊中註冊該應用程式並顯示其監視資料。

    使用 管理主控台 監視遠端應用程式和實例。遠端實例必須正在執行並已設定配置才能執行此操作。

    所選取元件的監視資料顯示在所選取元件下面。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊。您可以在關於可監視物件的樹狀結構中檢視說明這些元件和服務如何針對應用程式進行組織的圖解。

  5. 選取 [資源] 頁面可檢視部署至伺服器實例並啟用監視功能的資源的監視資料。從 [檢視] 清單中選取資源。

    如果未顯示您要檢視其監視資料的資源,請選取 [配置監視] 連結,以針對資源啟用或停用監視功能。

    如果未顯示資源的監視資料,則該資源很可能不存在或未執行。僅當資源存在、已針對此資源啟用 [高] 層級的監視功能,並且正在執行此資源時,才能取得此資源的監視資料。例如,如果您已建立 JDBC 連接器服務,但使用該連接器服務的應用程式尚未從服務請求連接器,則表示該服務尚未建立。因而,不存在任何服務,也沒有任何可用的監視資料。JDBC 應用程式執行並從服務請求連接器之後,將在監視登錄中註冊該服務並顯示其監視資料。

    所選元件或服務的監視資料顯示在 [檢視] 欄位下。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊。您可以在關於可監視物件的樹狀結構中檢視說明這些元件和服務如何針對資源進行組織的圖解。

  6. 選取 [作業事件] 頁面可固定作業事件子系統,進而回復作業事件並確定固定時正在進行的作業事件。

  7. 若要針對作業事件服務啟用監視功能,請選取 [配置監視] 連結,並確定將 [作業事件服務] 設定為 [低]。

    若要固定作業事件服務以便回復作業事件,請選取 [固定]。若要回復作業事件,請選取作業事件旁邊的核取方塊,並按一下 [回復]。

等效的 asadmin 指令

get --monitor

例如,若要檢視 JVM 的監視資料,請使用以下 asadmin 指令︰

asadmin> get --user adminuser --monitor server.jvm.*

使用 asadmin 工具檢視監視資料

Procedure使用 asadmin 工具檢視監視資料

若要使用 asadmin 工具檢視監視資料,請使用 asadmin listasadmin get 指令,後面跟著可監視物件的帶點名稱,方法如下:

  1. 若要檢視可監視物件的名稱,請使用 asadmin list 指令。

    例如,若要檢視伺服器實例上已啟用監視功能的應用程式元件和子系統的清單,請在終端機視窗中鍵入以下指令:


    asadmin> list --user adminuser --monitor server

    上述指令將傳回已啟用監視功能的應用程式元件與子系統清單,例如:


    server.resources
    server.connector-service
    server.orb
    server.jms-service
    server.jvm
    server.applications
    server.http-service
    server.thread-pools

    如需有關使用 list 指令的更多範例,請參閱list 和 get 指令的範例。如需有關可與 list 指令配合使用之帶點名稱的更多資訊,請參閱瞭解和指定含點名稱

  2. 若要顯示已啟用監視功能的應用程式元件或子系統的監視統計,請使用 asadmin get 指令。

    若要取得統計,請在終端機視窗中鍵入 asadmin get 指令,並指定在先前步驟中由 list 指令顯示的名稱。以下範例嘗試獲取某個特定物件的子系統的所有屬性:


    asadmin> get --user adminuser --monitor server.jvm.*

    該指令將傳回以下屬性和資料:


    server.jvm.dotted-name = server.jvm
    server.jvm.heapsize-current = 21241856
    server.jvm.heapsize-description = Provides statistical information about 
       the JVM's memory heap size.
    server.jvm.heapsize-highwatermark = 21241856
    server.jvm.heapsize-lastsampletime = 1080232913938
    server.jvm.heapsize-lowerbound = 0
    server.jvm.heapsize-lowwatermark = 0
    server.jvm.heapsize-name = JvmHeapSize
    server.jvm.heapsize-starttime = 1080234457308
    server.jvm.heapsize-unit = bytes
    server.jvm.heapsize-upperbound = 518979584
    server.jvm.uptime-count = 1080234457308
    server.jvm.uptime-description = Provides the amount of time the JVM has 
       been running.
    server.jvm.uptime-lastsampletime = 1080234457308
    server.jvm.uptime-name = JvmUpTime
    server.jvm.uptime-starttime = 1080232913928
    server.jvm.uptime-unit = milliseconds

    如需有關使用 get 指令的更多範例,請參閱list 和 get 指令的範例。如需有關可與 get 指令配合使用之帶點名稱的更多資訊,請參閱瞭解和指定含點名稱

瞭解和指定含點名稱

asadmin listget 指令中,指定可監視物件的帶點名稱。所有子物件均使用點 (.) 字元做為分隔符來命名,因此這些子物件稱為帶點名稱。如果子節點為單一型,則僅需監視物件類型即可命名物件;否則,需要形式為 type.name 的名稱來命名物件。

例如,http-service 就是一種有效的可監視物件類型,並且為單一型。若要命名表示實例 serverhttp-service 的單一型子節點,則帶點名稱為:

server.http-service

另一個範例,application 為一種有效的可監視物件類型,但並非單一型。例如,若要命名表示應用程式 Petstore 的非單一型子節點,則帶點名稱為:

server.applications.petstore

含點名稱也可以命名可監視物件中的特定屬性。例如,http-service 具有名為 bytesreceived-lastsampletime 的可監視屬性。以下名稱可以命名 bytesreceived 屬性:

server.http-service.server.http-listener-1.
  bytesreceived-lastsampletime

管理員無需知道 asadmin listget 指令的有效帶點名稱。使用 list 指令可以顯示可用的可監視物件,而使用帶有萬用字元參數的 get 指令可以檢查任意可監視物件的所有可用屬性。

使用具有帶點名稱的 listget 指令的基本假設為:

如需更多資訊,請參閱list 和 get 指令在所有層級上的預期輸出

list 和 get 指令的範例

本小節包含下列主題:

list --user admin-user --monitor 指令的範例

list 指令可針對指定伺服器實例名稱,提供有關目前正在監視之應用程式元件與子系統的資訊。使用此指令,您可以查看伺服器實例的可監視元件與子元件。如需 list 範例的更完整清單,請參閱list 和 get 指令在所有層級上的預期輸出

範例 1


asadmin> list --user admin-user --monitor server

上述指令將傳回已啟用監視功能的應用程式元件與子系統清單,例如:


server.resources
server.orb
server.jvm
server.jms-service
server.connector-service
server.applications
server.http-service
server.thread-pools

還可以列示指定的伺服器實例中目前所監視的應用程式。這對於使用 get 指令從某應用程式中搜尋特定監視統計很有幫助。

範例 2

asadmin> list --user admin-user --monitor server.applications

傳回:

server.applications.adminapp
 server.applications.admingui
server.applications.myApp

如需更完整的範例,請參閱使用 PetStore 範例

get --user admin-user --monitor 指令的範例

指令可擷取以下受監視的資訊:

範例 1

嘗試從某子系統中取得特定物件的所有屬性:


asadmin> get --user admin-user --monitor server.jvm.*

傳回:


server.jvm.dotted-name= server.jvm
server.jvm.heapsize-current = 21241856
server.jvm.heapsize-description = Provides statistical information about 
   the JVM's memory heap size.
server.jvm.heapsize-highwatermark = 21241856
server.jvm.heapsize-lastsampletime = 1080232913938
server.jvm.heapsize-lowerbound = 0
server.jvm.heapsize-lowwatermark = 0
server.jvm.heapsize-name = JvmHeapSize
server.jvm.heapsize-starttime = 1080234457308
server.jvm.heapsize-unit = bytes
server.jvm.heapsize-upperbound = 518979584
server.jvm.uptime-count = 1080234457308
server.jvm.uptime-description = Provides the amount of time the JVM has 
   been running.
server.jvm.uptime-lastsampletime = 1080234457308
server.jvm.uptime-name = JvmUpTime
server.jvm.uptime-starttime = 1080232913928
server.jvm.uptime-unit = milliseconds

範例 2

嘗試從 J2EE 應用程式中取得所有屬性:


asadmin> get --user admin-user --monitor server.applications.myJ2eeApp.*

傳回:


No matches resulted from the wildcard expression.
CLI137 Command get failed.

該 J2EE 應用程式層級上沒有提供可監視的屬性,因此顯示此回覆。

範例 3

嘗試從某子系統中取得特定屬性:


asadmin> get --user admin-user --monitor server.jvm.uptime-lastsampletime

傳回:

server.jvm.uptime-lastsampletime = 1093215374813

範例 4

嘗試從某子系統屬性中取得不明的屬性:


asadmin> get --user admin-user --monitor server.jvm.badname

傳回:


No such attribute found from reflecting the corresponding Stats 
interface: [badname]
CLI137 Command get failed.

Procedure使用 PetStore 範例

以下範例說明如何將 asadmin 工具用於監視目的。

使用者要檢查將範例 PetStore 應用程式部署至 Application Server 之後,在該應用程式中呼叫某個方法的次數。已部署該應用程式的實例名稱為 server。結合 listget 指令,即可存取所需的方法統計。

  1. 啟動 Application Server 和 asadmin 工具。

  2. 設定一些有用的環境變數,以避免為每個指令均輸入這些變數:


    asadmin> export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123
    asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4849
  3. 列出實例 server 的可監視元件:


    asadmin> list --user adminuser --monitor server*

    傳回 (輸出將與以下內容類似):


    server
    server.applications
    server.applications.CometEJB
    server.applications.ConverterApp
    server.applications.petstore
    server.http-service
    server.resources
    server.thread-pools

    可監視元件清單包括 thread-poolshttp-serviceresources 以及所有已部署 (與已啟用) 的 applications

  4. 列出 PetStore 應用程式中的可監視子元件 (可以使用 -m 替代 --monitor)︰

    asadmin> list -m server.applications.petstore

    傳回:


    server.applications.petstore.signon-ejb_jar
    server.applications.petstore.catalog-ejb_jar
    server.applications.petstore.uidgen-ejb_jar
    server.applications.petstore.customer-ejb_jar
    server.applications.petstore.petstore-ejb_jar
    server.applications.petstore.petstore\.war
    server.applications.petstore.AsyncSenderJAR_jar
    server.applications.petstore.cart-ejb_jar
  5. 列出 PetStore 應用程式之 EJB 模組 signon-ejb_jar 中的可監視子元件:


    asadmin> list -m server.applications.petstore.signon-ejb_jar

    傳回:


    server.applications.petstore.signon-ejb_jar.SignOnEJB
    server.applications.petstore.signon-ejb_jar.UserEJB
  6. 列出 PetStore 應用程式之 EJB 模組 signon-ejb_jar 的實體 Bean UserEJB 中的可監視子元件:


    asadmin> list -m server.applications.petstore.signon-ejb_jar.UserEJB

    傳回 (為節省空間而移除帶點名稱):


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-cache
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-pool
  7. 列出實體 Bean UserEJB (位於 PetStore 應用程式的 EJB 模組 signon-ejb_jar 中) 之 getUserName 方法中的可監視子元件:


    asadmin> list -m 
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName

    傳回:


    Nothing to list at server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName. To get the valid names beginning with a 
    string, use the wildcard "*" character. For example, to list all names 
    that begin with "server", use "list server*".
  8. 該方法沒有可監視的子元件。取得 getUserName 方法的所有可監視統計。


    asadmin> get -m 
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.getUserName.*

    傳回:


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-description = Provides the time in milliseconds 
       spent during the last successful/unsuccessful attempt to execute the 
       operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-lastsampletime = 1079981809259
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-description = Provides the number of times an 
       operation was called, the total time that was spent during the 
       invocation and so on.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-lastsampletime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-maxtime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-mintime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-name = ExecutionTime
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-totaltime = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.methodstatistic-unit =
     server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-description = Provides the total number of errors 
       that occured during invocation or execution of an operation.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-lastsampletime = 1079981809273
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-name = TotalNumErrors
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumerrors-unit = count
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-count = 0
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-description = Provides the total number of 
       successful invocations of the method.
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-lastsampletime = 1079981809255
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-name = TotalNumSuccess
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-starttime = 1079980593137
    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.totalnumsuccess-unit = count
  9. 如果還需要取得執行時間等特定統計,請使用如下指令:


    asadmin> get -m server.applications.petstore.signon-ejb_jar.
    UserEJB.bean-methods.getUserName.executiontime-count

    傳回:


    server.applications.petstore.signon-ejb_jar.UserEJB.bean-methods.
    getUserName.executiontime-count = 1

list 和 get 指令在所有層級上的預期輸出

下表顯示了樹的各個層級的指令、含點名稱及相應的輸出。

表 16–33 頂層

指令 

含點名稱 

輸出 

list -m

server


server.applicationsserver.thread-poolsserver.
resourcesserver.http-serviceserver.transaction-
serviceserver.orb.connection-managersserver.orb.
connection-managers.orb\.Connections\.Inbound\.
AcceptedConnectionsserver.jvm

list -m

server.*

此節點下的子節點的階層結構。 

get -m

server.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

下表列出了應用程式層級的指令、帶點名稱及對應的輸出。

表 16–34 應用程式層級

指令 

含點名稱 

輸出 

list -m

server.applications

或 

*applications


appl1app2web-module1_warejb-module2_jar...

list -m

server.applications.*

或 

*applications.*

此節點下的子節點的階層結構。 

get -m

server.applications.*

或 

*applications.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

下表列出了應用程式層級上的獨立模組和企業應用程式的指令、帶點名稱及對應的輸出。

表 16–35 應用程式 - 企業應用程式和獨立模組

指令 

含點名稱 

輸出 

list -m

server.applications.app1

或 

*app1

備註︰僅在已部署企業應用程式之後,此層級才可用。如果部署了獨立模組,則此層級不可用。 

ejb-module1_jarweb-module2_warejb-module3_jarweb-module3_war...

list -m

server.applications.app1.*

或 

*app1.*

此節點下的子節點的階層結構。 

get -m

server.applications.app1.*

或 

*app1.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.applications.app1.ejb-module1_jar

或 

*ejb-module1_jar

或 

server.applications.ejb-module1_jar

bean1bean2bean3...

list -m

server.applications.app1.ejb-module1_jar

或 

*ejb-module1_jar

或 

server.applications.ejb-module1_jar

此節點下的子節點的階層結構。 

get -m

server.applications.app1.ejb-module1_jar.*

或 

*ejb-module1_jar.*

或 

server.applications.ejb-module1_jar.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.applications.app1.ejb-module1_jar.bean1

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

子節點清單: 

bean-poolbean-cachebean-method

list -m

server.applications.app1.ejb-module1_jar.bean1

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

子節點的階層結構及該節點和所有後續子節點的所有屬性的清單。 

get -m

server.applications.app1.ejb-module1_jar.bean1.*

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

以下屬性及其關聯值: 


CreateCount_CountCreateCount_
DescriptionCreateCount_
LastSampleTimeCreateCount_
NameCreateCount_
StartTimeCreateCount_
UnitMethodReadyCount_
CurrentMethodReadyCount_
DescriptionMethodReadyCount_
HighWaterMarkMethodReadyCount_
LastSampleTimeMethodReadyCount_
LowWaterMarkMethodReadyCount_
NameMethodReadyCount_
StartTimeMethodReadyCount_
UnitRemoveCount_CountRemoveCount_
DescriptionRemoveCount_
LastSampleTimeRemoveCount_
NameRemoveCount_StartTimeAttribute 
RemoveCount_Unit

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

無屬性,但顯示一條訊息,說明︰server.applications.appl.ejb-module1_jar.bean1-cache 上沒有要列出的內容。若要取得以字串開始的有效名稱,請使用萬用字元 (*)。例如,若要列出以 server 開始的所有名稱,請使用 list server*

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-pool.*

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

與 EJB 池屬性對應的屬性和值清單,如表 1-4 中所示。 

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-cache.*

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

與 EJB 快取記憶體屬性對應的屬性和值清單,如表 1-5 中所示。 

list -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.applications.app1.ejb-module1_jar.bean1.bean-method.method1.*

備註︰在獨立模組中,不會顯示包含應用程式名稱 (此範例中為 app1) 的節點。

與 EJB 方法屬性對應的屬性和值清單,如表 1-2 中所示。 

list -m

server.applications.app1.web-module1_war

顯示指定給模組的虛擬伺服器。 

get -m

server.applications.app1.web-module1_war.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.applications.app1.web-module1_war.virtual_server

顯示已註冊的 Servlet 清單。 

get -m

server.applications.app1.web-module1_war.virtual_server.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.applications.app1.web-module1_war.virtual_server.servlet1

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.applications.app1.web-module1_war.virtual_server.servlet1.*

與 Web 容器 (Servlet) 屬性對應的屬性和值清單,如表 1-7 中所示。 

下表列出了 HTTP 服務層級的指令、帶點名稱及對應的輸出。

表 16–36 HTTP 服務層級

指令 

含點名稱 

輸出 

list -m

server.http-service

虛擬伺服器清單。 

get -m

server.http-service.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.http-service.server

HTTP 偵聽程式清單。 

get -m

server.http-service.server.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.http-service.server.http-listener1

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.http-service.server.*

與 HTTP 服務屬性對應的屬性和值清單,如表 1-9 中所示。 

下表列出了執行緒池層級的指令、帶點名稱及對應的輸出。

表 16–37 執行緒池層級

指令 

含點名稱 

輸出 

list -m

server.thread-pools

執行緒池名稱清單。 

get -m

server.thread-pools.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.thread-pools.orb\.threadpool\.thread-pool-1

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.thread-pools..orb\.threadpool\.thread-pool-1.*

與執行緒池屬性對應的屬性和值清單,如表 1-14 中所示。 

下表列出了資源層級的指令、帶點名稱及對應的輸出。

表 16–38 資源層級

指令 

含點名稱 

輸出 

list -m

server.resources

池名稱清單。 

get -m

server.resources.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.resources.jdbc-connection-pool-pool.connection-pool1

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.resources.jdbc-connection-pool-pool.connection-pool1.*

與連線池屬性對應的屬性和值清單,如表 1-10 中所示。 

下表列出了作業事件服務層級的指令、帶點名稱及對應的輸出。

表 16–39 作業事件服務層級

指令 

含點名稱 

輸出 

list -m

server.transaction-service

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.transaction-service.*

與作業事件服務屬性對應的屬性和值清單,如表 1-15 中所示。 

下表列出了 ORB 層級的指令、帶點名稱及對應的輸出。

表 16–40 ORB 層級

指令 

含點名稱 

輸出 

list -m

server.orb

server-orb.connection-managers

get -m

server.orb.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.orb.connection-managers

ORB 連線管理員的名稱。 

get -m

server.orb.connection-managers.*

無輸出,但顯示一條訊息,說明此節點上沒有屬性。 

list -m

server.orb.connection-managers.orb\.Connections\.Inbound\.AcceptedConnections

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」 

get -m

server.orb.connection-managers.orb\.Connections\.Inbound\.AcceptedConnections.*

與 ORB 連線管理員屬性對應的屬性和值清單,如表 1-13 中所示。 

下表列出了 JVM 層級的指令、帶點名稱及對應的輸出。

表 16–41 JVM 層級

指令 

含點名稱 

輸出 

list -m

server.jvm

無屬性,但顯示一條訊息,說明「使用帶有 --monitor 選項的 get 指令可以檢視此節點的屬性和值。」

get -m

server.jvm.*

與 JVM 屬性對應的屬性和值清單,如表 1-16 中所示。 

使用 JConsole

若要使 JConsole 可以與 Application Server 配合使用,必須停用 JMX 連接器的安全性。依預設,Application Server 的目前版本 (SE/EE 版本) 已啟用安全性。

Procedure停用 JMX 連接器的安全性

  1. 使用 管理主控台 停用 JMX 連接器的安全性。若要從 管理主控台 執行此作業,請:

    1. 展開 [節點代理程式]。

    2. 選取 [節點代理程式]。

    3. 取消選取 [JMX] 標籤中的 [SSL3] 和 [TLS]。

    4. 選取 [儲存]。

  2. 使用 asadmin 停用 JMX 連接器的安全性。若要從終端機視窗或指令提示符號執行此操作,請執行以下步驟:

    1. 輸入以下指令:


      asadmin set server.admin-service.jmx-connector.system.security-enabled=false
    2. 重新啟動網域應用程式伺服器 (DAS)。

      針對 Platform Edition 版本,則 JMX 連接器依預設會處於停用狀態,因此無需變更 Platform Edition 的任何配置。

  3. 啟動 JConsole,然後在 [進階] 標籤中輸入 JMX URL、使用者名稱和密碼以登入。JMX URL 的格式為:

    service:jmx:rmi:///jndi/rmi://<您的機器名稱>:<連接埠>/management/rmi-jmx-connector

    備註:如果您搜尋 message ADM1501,便可從管理 server.log 檔案中取得確切的 JMX URL。