首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JMX 實戰:監控 WebLogic 應用伺服器內外部狀態完整指南

     編輯:Java 相關知識

JMX 在 WebLogic 的雙重角色

自 WebLogic 6.0 起,JMX 成為管理核心。透過 MBean 可查詢配置/執行期資訊、修改配置、支援控制台與管理工具。

監控場景實例

  • 靜態內容:FileServlet 服務時間、HEAD 請求統計(瀏覽器快取影響)。
  • 動態頁面:各 Servlet 平均處理時間、完成請求數(非用戶端體驗延遲)。
  • EJB 監控:實體 Bean(註冊系統)、無狀態 Session Bean(付費系統)監控池/快取大小優化依據。
  • JMS 吞吐量:Topic/Queue MBean 屬性計算訊息吞吐。
  • JDBC 連線池:連線爭用數、洩漏偵測(含堆疊追蹤)、判斷資料庫授權需求。

配置 MBean 應用

  • 對應 config.xml 所有資源配置,部署單元屬性集中於 weblogic.Deployer。
  • 僅建議讀取配置;修改多為運行時行為,重新部署/重啟後失效。
  • 根據監控 MBean 回饋動態調整配置(如池大小)。

程式碼存取 MBean

// 取得本地 MBeanHome
MBeanHome home = (MBeanHome) new InitialContext().lookup(MBeanHome.LOCAL_JNDI_NAME);

// 取得 JDBC 連線池配置 MBean 集合
Set pools = home.getMBeansByType("JDBCConnectionPool");

// 監控用 Runtime MBean:型別名加 "Runtime"
Set runtimePools = home.getMBeansByType("JDBCConnectionPoolRuntime");
// 可偵測連線洩漏、取得洩漏連線堆疊追蹤

無程式碼操作:weblogic.Admin 命令列工具

# 查詢 JDBC 連線池配置(易讀格式)
java weblogic.Admin -username system -password [pwd] -url [url] GET -pretty -type JDBCConnectionPool

# 修改 MBean 屬性
java weblogic.Admin ... SET -type JDBCConnectionPool -property MaxCapacity 50

支援 Ping、JNDI 列表、重置連線池、關閉伺服器等操作,腳本自動化首選。

結語

JMX 提供 Java 內部與外部腳本雙重監控管道,結合 MBean 豐富屬性,構建全方位可觀測性體系。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved