本章包含有關使用 Application Server 管理主控台 來監視元件的資訊。本章包括下列小節:
使用監視功能可以觀察在 Application Server 的伺服器實例中所部署的各種元件和服務的執行階段狀態。利用有關執行階段元件和程式狀態的資訊,可以確定效能瓶頸以便進行調校、和容量規劃、預測故障、在發生故障時分析根本原因,以及確保一切執行正常。
啟用監視功能會因增加系統耗用而使效能降低。
若要監視 Application Server,請執行以下步驟:
使用 管理主控台 或 asadmin 工具啟用對特定服務和元件的監視功能。
如需有關此步驟的更多資訊,請參閱有關啟用和停用監視功能的 管理主控台 作業。
使用 管理主控台 或 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 容器統計資訊。
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-service |--- virtual-server-1 |--- http-listener-1 * |--- http-listener-2 * |--- virtual-server-2 |--- http-listener-1 * |--- http-listener-2 *
http-service * |---connection-queue * |---dns * |---file-cache * |---keep-alive * |---pwc-thread-pool * |---virtual-server-1* | |--- request * |---virtual-server-2* | |--- request *
資源節點包含 JDBC 連線池和連接器連線池等池的可監視屬性。以下示意圖顯示了各種資源元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱JDBC 連線池統計資訊。
resources |---connection-pool1(either connector-connection-pool or jdbc)* |---connection-pool2(either connector-connection-pool or jdbc)*
連接器服務節點包含連接器連線池等池的可監視屬性。以下示意圖顯示了各種連接器服務元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱JMS/連接器服務統計資訊。
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-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 |--- connection-managers | |--- connection-manager-1 * | |--- connection-manager-1 *
執行緒池節點包含連線管理程式的可監視屬性。以下示意圖顯示了 ORB 元件的頂層節點和子節點。具有可用的監視統計資訊的節點標有星號 (*)。請參閱執行緒池統計資訊。
thread-pools | |--- thread-pool-1 * | |--- thread-pool-2 *
本小節描述可用的監視統計資訊:
下表說明 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 |
時間統計 |
作業被呼叫的次數;呼叫期間所花費的總時間等資訊。 |
計數統計資訊 |
執行方法導致異常的次數。如果為 EJB 容器啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 而收集的。 |
|
計數統計資訊 |
方法成功執行的次數。如果為 EJB 容器啟用了監視功能,則此統計資訊是為無狀態和有狀態階段作業 Bean 和實體 Bean 收集的。 |
|
計數統計資訊 |
上次成功/不成功嘗試執行方法作業所花費的時間 (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 池統計資訊
屬性名稱 |
資料類型 |
說明 |
---|---|---|
限制範圍統計 |
相關聯池中的 EJB 數,可提供有關池的變更方式的資訊。 |
|
限制範圍統計 |
等待自由 Bean 的執行緒數,指出請求可能擁塞。 |
|
計數統計資訊 |
從開始收集資料以來相關聯池中所建立的 Bean的數目。 |
|
計數統計資訊 |
自開始收集資料以來從相關聯池中銷毀的 Bean 的數目。 |
|
計數統計資訊 |
針對要服務的訊息導引 Bean 而一次載入 JMS 階段作業的最大訊息數。預設值為 1。僅套用於訊息導引 Bean 的池。 |
下表中列出了可用於 EJB 快取的統計。
表 16–5 EJB 快取統計
屬性名稱 |
資料類型 |
說明 |
---|---|---|
限制範圍統計 |
使用者請求未在快取中找到 Bean 的次數。 |
|
限制範圍統計 |
使用者請求找到快取記憶體中某個項目的次數。 |
|
numbeansincache |
限制範圍統計 |
快取記憶體中 Bean 的數目。這便是快取記憶體目前的大小。 |
計數統計資訊 |
鈍化 Bean 的數目。僅套用於有狀態階段作業 Bean。 |
|
計數統計資訊 |
鈍化期間發生的錯誤數。僅套用於有狀態階段作業 Bean。 |
|
計數統計資訊 |
清除執行緒所移除的過期階段作業數目。僅套用於有狀態階段作業 Bean。 |
|
計數統計資訊 |
鈍化成功完成的次數。僅套用於有狀態階段作業 Bean。 |
下表中列出了可用於計時器的統計。
表 16–6 計時器統計資訊
統計資訊 |
資料類型 |
說明 |
---|---|---|
numtimerscreated |
計數統計資訊 |
系統中建立的計時器的數目。 |
numtimersdelivered |
計數統計資訊 |
系統所傳送的計時器的數目。 |
numtimersremoved |
計數統計資訊 |
從系統中移除的計時器的數目。 |
物件樹狀結構中包含了 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 服務的統計。這些統計資訊僅適用於 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 連線池的統計。
表 16–10 JDBC 連線池統計
統計資訊 |
單位 |
資料類型 |
說明 |
---|---|---|---|
numconnfailedvalidation |
數目 |
計數統計資訊 |
從開始時間到上次取樣時間為止在連線池中驗證失敗的連線總數。 |
numconnused |
數目 |
範圍統計 |
提供連線使用統計資訊。目前正使用的連線總數,以及有關使用過的連線的最大數目的資訊 (高水印)。 |
numconnfree |
數目 |
範圍統計 |
上次取樣時池中的自由連線總數。 |
numconntimedout |
數目 |
限制範圍統計 |
開始時間與上次取樣時間之間池中的逾時連線總數。 |
averageconnwaittime |
數目 |
計數統計資訊 |
指示嘗試與連接器連線池建立成功連線請求的平均等待時間。 |
waitqueuelength |
數目 |
計數統計資訊 |
佇列中正在等待處理的連線請求數。 |
connectionrequestwaittime |
範圍統計 |
連線請求的最長和最短等待時間。目前值表示上次由池處理的請求的等待時間。 |
|
numconncreated |
毫秒 |
計數統計資訊 |
自上次重設以來建立的實體連線數。 |
numconndestroyed |
數目 |
計數統計資訊 |
自上次重設以來已銷毀的實體連線數。 |
numconnacquired |
數目 |
計數統計資訊 |
從池中獲取的邏輯連線數。 |
numconnreleased |
數目 |
計數統計資訊 |
釋放到池中的邏輯連線數。 |
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 中連線管理員的統計。
表 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 |
字串統計資訊 |
指示作業事件是否已凍結。 |
JVM 具有始終處於啟用狀態的可監視屬性。下表中列出了可用於 JVM 的統計。
表 16–16 JVM 統計資訊
統計資訊 |
資料類型 |
說明 |
---|---|---|
heapsize |
限制範圍統計 |
包含 JVM 的記憶體堆疊大小上限和下限的常駐記憶體佔用空間。 |
uptime |
計數統計資訊 |
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 |
計數統計資訊 |
執行緒處於 WAITING 或 TIMED_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 清單。 |
可用於 Application Server Enterprise Edition (EE) 上的以下 PWC 元件和服務的統計:
生產 Web 容器 (PWC) 統計資訊,PWC 虛擬伺服器
生產 Web 容器 (PWC) 統計資訊,PWC 請求
生產 Web 容器 (PWC) 統計資訊,PWC 檔案快取
生產 Web 容器 (PWC) 統計資訊,PWC 持續作用
生產 Web 容器 (PWC) 統計資訊,PWC DNS
有關偵聽程式和 JMX 連接器的 管理主控台 作業,PWC 執行緒池
生產 Web 容器 (PWC) 統計資訊,PWC 連線佇列
生產 Web 容器 (PWC) 統計資訊,PWC HTTP 服務
生產 Web 容器 (PWC) 統計資訊中列出了 PWC 虛擬伺服器的統計。
表 16–25 PWC 虛擬伺服器統計資訊 (僅限於 EE)
屬性名稱 |
資料類型 |
說明 |
---|---|---|
id |
字串統計資訊 |
虛擬伺服器的 ID。 |
mode |
字串統計資訊 |
虛擬伺服器所處的模式。選項包括 unknown 或 active。 |
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。 |
存取 [監視服務] 頁面。若要完成此操作,請執行以下步驟:
在 [監視服務] 頁面中,從要變更其監視層級的元件或服務相對的組合方塊中選擇適當的值。
依預設,所有元件和服務的監視功能均處於關閉狀態。若要啟用監視功能,請在組合方塊中選取 [低] 或 [高]。若要關閉監視功能,請在組合方塊中選取 [關閉]。可以開啟或關閉以下元件和服務的監視功能:
JVM - 將此選項的監視層級設定為 [低],可監視 Java 虛擬機器。
HTTP 服務 - 將此選項的監視層級設定為 [低],可監視所有 HTTP 偵聽程式和虛擬伺服器。
作業事件服務 - 將此選項的監視層級設定為 [低],可監視任意作業事件子系統。
JMS/連接器服務 - 將此選項的監視層級設定為 [低],可監視任意 Java 訊息服務 (JMS)。
ORB - 將此選項的監視層級設定為 [低],可監視由 Application Server 核心及其連線管理員使用的系統 ORB。
Web 容器 - 將此選項的監視層級設定為 [低],可監視所有已部署的 Servlet。
EJB 容器 - 將此選項的監視層級設定為 [低],可監視所有已部署的 EJB 元件、EJB 池和 EJB 快取。將此方法設定為 [高] 還可以監視 EJB 商業方法。
JDBC 連線池 - 將此選項的監視層級設定為 [低],可監視所有 JDBC 連線池。
執行緒池 - 將此選項的監視層級設定為 [低],可監視所有執行緒池。
按一下 [儲存]。
此版本中沒有 [附加監視服務特性],因此請忽略 [附加特性] 表。
set
例如,若要開啟對 HTTP 服務的監視功能,請使用以下 asadmin 指令︰
asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=LOW
若要關閉監視功能,或設定監視元件或服務的層級,您可以依循使用 管理主控台 配置監視層級中的說明使用 管理主控台。
使用 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 |
使用 set 指令可以啟用監視功能。
例如,若要啟用對 HTTP 服務的監視功能,請輸入以下指令:
asadmin> set --user admin-user server.monitoring-service.module-monitoring-levels.http-service=LOW |
若要停用監視功能,請使用 set 指令並將監視層級指定為 OFF。
如需有關每個元件或服務之屬性的更多資訊,請參閱關於受監視的元件和服務的統計資訊。
存取 [監視] 頁面。若要執行此作業,請:
在 [檢視] 清單中,選取已部署到伺服器實例並已為其啟用了監視功能的元件或服務。
所選元件或服務的監視資料顯示在 [檢視] 欄位下。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊。
如果已針對 JVM、伺服器、執行緒池、HTTP 服務和作業事件服務啟用監視功能,則可以在此頁面中檢視這些元件和服務的監視資料。關於可監視物件的樹狀結構以圖解說明這些元件和服務的組織架構。
如果沒有在此清單中看到您要監視的元件或服務,請選取 [配置監視] 連結,以針對所選元件和服務啟用和停用監視功能。
選取 [關閉] 以停用對元件或服務的監視功能。選取 [低] 或 [高],以針對元件或服務啟用監視功能。
如需有關啟用和停用監視功能的更多資訊,請參閱使用 管理主控台 配置監視層級或使用 asadmin 工具配置監視功能。
選取 [監視] 頁面的 [應用程式] 標籤,以檢視部署至伺服器實例並已啟用監視功能的應用程式元件的監視資料。從 [應用程式] 清單中選取應用程式。從 [元件] 清單中選取特定元件。
如果未顯示應用程式或元件的監視資料,請選取 [配置監視] 連結,以針對元件或服務啟用或停用監視功能。若要監視應用程式,請開啟執行這些應用程式的容器。例如,針對 Web 應用程式的 Web 容器和/或 EJB 應用程式的 EJB 容器選取 [低] 或 [高]。
如果未顯示應用程式的監視資料,則該應用程式很可能不存在或未執行。僅當應用程式存在、其監視功能已啟用且正在運行時,應用程式監視資料才可用。執行了應用程式後,將在監視註冊中註冊該應用程式並顯示其監視資料。
使用 管理主控台 監視遠端應用程式和實例。遠端實例必須正在執行並已設定配置才能執行此操作。
所選取元件的監視資料顯示在所選取元件下面。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊。您可以在關於可監視物件的樹狀結構中檢視說明這些元件和服務如何針對應用程式進行組織的圖解。
選取 [資源] 頁面可檢視部署至伺服器實例並啟用監視功能的資源的監視資料。從 [檢視] 清單中選取資源。
如果未顯示您要檢視其監視資料的資源,請選取 [配置監視] 連結,以針對資源啟用或停用監視功能。
如果未顯示資源的監視資料,則該資源很可能不存在或未執行。僅當資源存在、已針對此資源啟用 [高] 層級的監視功能,並且正在執行此資源時,才能取得此資源的監視資料。例如,如果您已建立 JDBC 連接器服務,但使用該連接器服務的應用程式尚未從服務請求連接器,則表示該服務尚未建立。因而,不存在任何服務,也沒有任何可用的監視資料。JDBC 應用程式執行並從服務請求連接器之後,將在監視登錄中註冊該服務並顯示其監視資料。
所選元件或服務的監視資料顯示在 [檢視] 欄位下。如需有關可監視特性的說明,請參閱關於受監視的元件和服務的統計資訊。您可以在關於可監視物件的樹狀結構中檢視說明這些元件和服務如何針對資源進行組織的圖解。
選取 [作業事件] 頁面可固定作業事件子系統,進而回復作業事件並確定固定時正在進行的作業事件。
若要針對作業事件服務啟用監視功能,請選取 [配置監視] 連結,並確定將 [作業事件服務] 設定為 [低]。
若要固定作業事件服務以便回復作業事件,請選取 [固定]。若要回復作業事件,請選取作業事件旁邊的核取方塊,並按一下 [回復]。
get --monitor
例如,若要檢視 JVM 的監視資料,請使用以下 asadmin 指令︰
asadmin> get --user adminuser --monitor server.jvm.*
若要使用 asadmin 工具檢視監視資料,請使用 asadmin list 和 asadmin get 指令,後面跟著可監視物件的帶點名稱,方法如下:
若要檢視可監視物件的名稱,請使用 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 指令配合使用之帶點名稱的更多資訊,請參閱瞭解和指定含點名稱。
若要顯示已啟用監視功能的應用程式元件或子系統的監視統計,請使用 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 list 和 get 指令中,指定可監視物件的帶點名稱。所有子物件均使用點 (.) 字元做為分隔符來命名,因此這些子物件稱為帶點名稱。如果子節點為單一型,則僅需監視物件類型即可命名物件;否則,需要形式為 type.name 的名稱來命名物件。
例如,http-service 就是一種有效的可監視物件類型,並且為單一型。若要命名表示實例 server 之 http-service 的單一型子節點,則帶點名稱為:
server.http-service
另一個範例,application 為一種有效的可監視物件類型,但並非單一型。例如,若要命名表示應用程式 Petstore 的非單一型子節點,則帶點名稱為:
server.applications.petstore
含點名稱也可以命名可監視物件中的特定屬性。例如,http-service 具有名為 bytesreceived-lastsampletime 的可監視屬性。以下名稱可以命名 bytesreceived 屬性:
server.http-service.server.http-listener-1. bytesreceived-lastsampletime
管理員無需知道 asadmin list 和 get 指令的有效帶點名稱。使用 list 指令可以顯示可用的可監視物件,而使用帶有萬用字元參數的 get 指令可以檢查任意可監視物件的所有可用屬性。
使用具有帶點名稱的 list 和 get 指令的基本假設為:
使用任何具有帶點名稱且後面不帶有萬用字元 (*) 的 list 指令,得到的結果為目前節點的直接子節點。例如,list --user adminuser --monitor server 將列出屬於 server 節點的所有直接子節點。
使用任何具有帶點名稱且後面帶有 .* 形式的萬用字元的 list 指令,得到的結果為目前節點的子節點階層式樹狀結構。例如,list --user adminuser --monitor server.applications.* 將列出 applications 的所有子節點及其後續子節點等。
使用任何具有帶點名稱且前面或後面帶有 *dottedname、dotted * name 或 dotted name * 形式的萬用字元的 list 指令,得到的結果為符合常規表示式 (由提供的符合式樣建立) 的所有節點及其子節點。
使用後面帶有 .* 或 * 的 get 指令,得到的結果為屬於要符合的目前節點的一組屬性及其值。
如需更多資訊,請參閱list 和 get 指令在所有層級上的預期輸出。
本小節包含下列主題:
list 指令可針對指定伺服器實例名稱,提供有關目前正在監視之應用程式元件與子系統的資訊。使用此指令,您可以查看伺服器實例的可監視元件與子元件。如需 list 範例的更完整清單,請參閱list 和 get 指令在所有層級上的預期輸出。
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 指令從某應用程式中搜尋特定監視統計很有幫助。
asadmin> list --user admin-user --monitor server.applications
傳回:
server.applications.adminapp server.applications.admingui server.applications.myApp
如需更完整的範例,請參閱使用 PetStore 範例。
一個元件或子系統內的全部受監視屬性
一個元件或子系統內特定的受監視屬性
當特定元件或子系統所請求的屬性不存在時,將會傳回錯誤。同樣,當元件或子系統所請求的特定屬性不在作用中時,也會傳回錯誤。
請參閱list 和 get 指令在所有層級上的預期輸出,以取得有關使用 get 指令的更多資訊。
嘗試從某子系統中取得特定物件的所有屬性:
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 |
嘗試從 J2EE 應用程式中取得所有屬性:
asadmin> get --user admin-user --monitor server.applications.myJ2eeApp.* |
傳回:
No matches resulted from the wildcard expression. CLI137 Command get failed. |
該 J2EE 應用程式層級上沒有提供可監視的屬性,因此顯示此回覆。
嘗試從某子系統中取得特定屬性:
asadmin> get --user admin-user --monitor server.jvm.uptime-lastsampletime |
傳回:
server.jvm.uptime-lastsampletime = 1093215374813
嘗試從某子系統屬性中取得不明的屬性:
asadmin> get --user admin-user --monitor server.jvm.badname |
傳回:
No such attribute found from reflecting the corresponding Stats interface: [badname] CLI137 Command get failed. |
以下範例說明如何將 asadmin 工具用於監視目的。
使用者要檢查將範例 PetStore 應用程式部署至 Application Server 之後,在該應用程式中呼叫某個方法的次數。已部署該應用程式的實例名稱為 server。結合 list 與 get 指令,即可存取所需的方法統計。
啟動 Application Server 和 asadmin 工具。
設定一些有用的環境變數,以避免為每個指令均輸入這些變數:
asadmin> export AS_ADMIN_USER=admin AS_ADMIN_PASSWORD=admin123 asadmin>export AS_ADMIN_HOST=localhost AS_ADMIN_PORT=4849 |
列出實例 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-pools、http-service、resources 以及所有已部署 (與已啟用) 的 applications。
列出 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 |
列出 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 |
列出 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 |
列出實體 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*". |
該方法沒有可監視的子元件。取得 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 |
如果還需要取得執行時間等特定統計,請使用如下指令:
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 |
下表顯示了樹的各個層級的指令、含點名稱及相應的輸出。
表 16–33 頂層
指令 |
含點名稱 |
輸出 |
|
---|---|---|---|
list -m |
server |
|
|
list -m |
server.* |
此節點下的子節點的階層結構。 |
|
get -m |
server.* |
無輸出,但顯示一條訊息,說明此節點上沒有屬性。 |
下表列出了應用程式層級的指令、帶點名稱及對應的輸出。
表 16–34 應用程式層級
指令 |
含點名稱 |
輸出 |
|
---|---|---|---|
list -m |
server.applications 或 *applications |
|
|
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) 的節點。 |
以下屬性及其關聯值:
|
|
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 可以與 Application Server 配合使用,必須停用 JMX 連接器的安全性。依預設,Application Server 的目前版本 (SE/EE 版本) 已啟用安全性。