2011-12-29 150 views

回答

14

我已經使用Metrics。它與支持量表,計數器,儀表,直方圖和計時器的鴕鳥非常相似;以及監控您的服務健康檢查的機制。

您可以通過JMX或HTTP獲取報告,以及報告Ganglia和Graphite等後端。

+0

謝謝你指出這個庫。這非常有用。 – Shamik 2012-01-09 15:55:18

6

MBeans,JMX和JConsole應用程序的組合爲本地以及遠程JVM提供了本地支持。

javax.management包(http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html)擴展支持:http://www.oracle.com/technetwork/java/javase/tech/javamanagement-140525.html

JMX + JConsole監控範例是JVM中原生的,並且越來越易於​​在java SE 1.6中實現。

Java虛擬機(Java虛擬機)已內置工具是 使您能夠監控和使用Java管理擴展 (JMX)技術管理。 從http://docs.oracle.com/javase/6/docs/technotes/guides/management/agent.html#gdevs

詳細

的標準方法監測任何JVM(客戶機,服務器,本地或遠程)是利用JConsole的:http://docs.oracle.com/javase/6/docs/technotes/guides/management/jconsole.html。您可以一次打開多個JConsole客戶端,監視不同的實例。

1)你先用這個參數啓動您的JVM服務:

com.sun.management.jmxremote.port=portNum 

2)然後,遠程客戶機(你想做的監控之一)上,你就可以開始監控這個JVM

jconsole hostName:portNum 

對於超過不同的服務器

1)嘗試的應用程式的Clearstone積分JVM分析:我沒有使用我噸,但截屏顯示支持,你似乎有分佈envirnoment類型:

http://www.evidentsoftware.com/products/clearstone-for-java/

爲的Clearstone包含的Java外的現成的收集器,其通過JMX提供指標。 ClearStone服務器可以收集和關聯來自任何Java MBean的信息。

**最後,鴕鳥和JConsole中的另一個比較:**

Remote Probing of Scala/Java Application in Runtime

3

您可以使用與Heapster集成的鴕鳥。

Heapster

Heapster提供的試劑庫來做爲JVM 過程堆紋與與谷歌perftools兼容輸出。Heapster的目標是能夠在 生產設置中執行有意義的(採樣)堆分析。

鴕鳥整合

如果使用鴕鳥,並與heapster運行您的程序,你可以 產生像這樣運行時堆概況:

$捲曲的「localhost:9990/pprof /堆暫停= 10 & sample_period = 1024'> /tmp/prof這會收集10秒的堆增長, 採樣週期爲1kB。