來自Twitter的鴕鳥項目似乎非常適合我的用例,我希望跟蹤大量基於JVM的統計信息和一些自定義統計信息。是否有Twitter的鴕鳥圖書館的Java相當於?
https://github.com/twitter/ostrich/
但是,我的代碼庫是純Java +春3.0,而不是Scala中,這樣我就可以用鴕鳥我的情況?
來自Twitter的鴕鳥項目似乎非常適合我的用例,我希望跟蹤大量基於JVM的統計信息和一些自定義統計信息。是否有Twitter的鴕鳥圖書館的Java相當於?
https://github.com/twitter/ostrich/
但是,我的代碼庫是純Java +春3.0,而不是Scala中,這樣我就可以用鴕鳥我的情況?
我已經使用Metrics。它與支持量表,計數器,儀表,直方圖和計時器的鴕鳥非常相似;以及監控您的服務健康檢查的機制。
您可以通過JMX或HTTP獲取報告,以及報告Ganglia和Graphite等後端。
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中的另一個比較:**
您可以使用與Heapster集成的鴕鳥。
Heapster
Heapster提供的試劑庫來做爲JVM 過程堆紋與與谷歌perftools兼容輸出。Heapster的目標是能夠在 生產設置中執行有意義的(採樣)堆分析。
鴕鳥整合
如果使用鴕鳥,並與heapster運行您的程序,你可以 產生像這樣運行時堆概況:
$捲曲的「localhost:9990/pprof /堆暫停= 10 & sample_period = 1024'> /tmp/prof這會收集10秒的堆增長, 採樣週期爲1kB。
您可能會看看http://code.google.com/p/javamelody/,它運行帶有許多常用Java(和JDBC)度量標準圖的servlet。這是LGPL。
謝謝你指出這個庫。這非常有用。 – Shamik 2012-01-09 15:55:18