2009-11-05 101 views
31

這個問題不是關於JMX如何工作或者JMX如何工作的。此問題涉及JMX在生產環境中的標準應用程序服務器環境中的應用程序。它也不適用於特定的服務器。在生產Java應用程序中使用JMX監視什麼?

運行Java EE服務的標準堆棧的生產環境中的JMX監視什麼:數據庫訪問(JDBC和JPA),會話EJB,JMS,Web服務器,Web服務,支持AJAX的服務?

回答

27

JVM水平,我監視每分鐘的垃圾收集時間,

Servlet容器水平,我監控請求的數量,例外(4XX & 5XX代碼)的數量,總和每分鐘請求的持續時間,

SOAP水平的,I監視器調用次數,異常的數目&每次操作和每分鐘,調用的總和

Web MVC框架水平,我監視調用的數量,例外數&每個動作和每分鐘調用的總和,

對於池(數據源,線程池/執行服務)我監視活動計數,

對於JMS連接,我監視每分鐘發送&接收的消息的數目,和有源接收器的數量,

對於的Ehcache,我監測緩存條目的數量,每分鐘&未擊中的次數,

業務應用水平,我developped的@Profiled註解監視調用次數,例外數量和每分鐘總持續時間。

如果您對此類度量標準感興趣,我們開發了許多JMX附加件(dbcp,util.concurrent,jms,@profiled註釋),並使用基於Spring XML名稱空間的配置,Hyperic HQ插件,監控jsp頁面等

詳細信息在這裏:http://code.google.com/p/xebia-france/wiki/XebiaManagementExtras

所有這些代碼都是在商業友好的開放源代碼Apache軟件許可證2下部署的,部署在Maven Central Repository上,可下載爲jar,並可在Google Code Subversion服務器上以您想要的方式進行集成。

希望這有助於

西里爾(Xebia)

+0

不錯的答案,謝謝! – topchef 2010-11-29 17:28:41

5

我最常見的需求是監視線程數和內存。我最近的工作涉及調度到網格的重線程服務器,監視線程使用情況(衡量服務器執行多少調度工作的措施)非常重要。內存與線程的使用密切相關(部分原因是由於每個線程都有隱含的堆棧分配)。

我們還使用JMX啓用了我們的工作負載隊列數據。上述受監視的症狀影響排隊工作項目,但最終我們想監視實際的工作隊列。通過JMX公開關鍵組件以更清楚地瞭解發生了什麼是值得的。

1

在以前的項目中,我們監視了線程數量和內存,HTTP會話數量和查詢緩存大小。 JMX對緩存的另一個興趣是可以強制刷新。

8

我已經使用JMX公開了一個MBean,它將允許動態調整Log4J Logger級別。這對於我們不希望修改所有節點上的log4j配置文件以更改指定記錄器的日誌級別的集羣應用程序非常有用。

1

有點OT,但你可以使用JMX多一點。目前,我正在使用JMX來進行熱部署/修補程序組件。動態地爲現有組件添加功能(過濾器等)。 JMX適用於同一JVM上的組件之間的通信。我創建的每個組件都可以使用JMX。

+2

能不能請你,給那將表明JMX的使用用於此目的的鏈接? - 我需要使用爲現有組件動態添加功能的功能。 – techzen 2009-11-13 04:34:39

相關問題