1. 程式人生 > >五大最佳開源java性能監控工具

五大最佳開源java性能監控工具

blank 有關 報告 logic 通過 class 實時 influxdb 分享圖片

如果你正在尋找性能監控工具,不妨看看以下推薦的這五款開源工具,這些工具目前已經可以替代付費工具了,你可以看看是否是你的最佳選擇。本文推薦的五款開源工具目前是開源社區中最受歡迎的。

  1. Stagemonitor

  Stagemonitor提供了一個Java監控代理程序,它是使用集群應用程序堆棧構建的。意思是它旨在監控在多個服務器上運行的應用程序。該工具與時間序列數據庫(TSDB)集成。此工具已針對時間序列數據以及按時間索引的數字數組進行優化。包括以下數據庫:Elasticsearch,Graphite和InfluxDB。

  Architecture:

技術分享圖片

  Stagemonitor包含一個位於Java應用程序中的代理,可將度量標準和請求跟蹤發送到中央數據庫。該工具只需要一個實例就可以監控所有應用程序,實例和主機,並且可以部署在你自己的數據中心內。

  在監控方面,你可以從集群或直接從開發人員服務器查看歷史或實時數據,創建自定義報警機制,並為每個指標定義閾值。

  Stagemonitor包括一個儀表板,可以可視化分析你感興趣的不同指標和請求。你可以自定義儀表板,編寫自定義插件,甚至使用第三方插件。它提供了一個無需後端的瀏覽器窗口小部件,自動註入受監控的網頁。在官方文檔中,Stagemonitor還支持不基於servlet的應用程序。

技術分享圖片

  如果你對ELK堆棧很熟悉,該工具絕對值得一試。

  2. Pinpoint

  Pinpoint是用於大規模分布式系統的APM工具。它是在Dapper(一個由Google構建的分布式系統跟蹤基礎架構)之後構建的,為開發人員提供有關復雜分布式系統行為的更多信息。

  Architecture:

技術分享圖片

  該工具通過在分布式應用程序中跟蹤事務,幫助分析系統的整體結構及其中的組件是如何互相影響的。它旨在解釋每個事務如何執行,跟蹤組件之間的行為,指出發生問題的區域和潛在的瓶頸。

  儀表板幫助可視化組件如何連接,並允許用戶實時監控應用程序內的活動線程。Pinpoint還允許用戶查看請求計數和響應模式,以便及時識別潛在問題。你可以查看包括CPU使用率,內存/垃圾回收和JVM參數等詳細信息。

技術分享圖片

  如果你聽說過Dapper,或者想要監控和分析復雜的分布式系統,你一定要試試這個工具。

  3、MoSKito

  MoSKito內包含三種工具:MoSKito-Essential:最基本的獨立項目。它是MoSKito功能的核心,可以監控應用程序。MoSKito-Central:用於存儲性能數據的集中存儲服務器。MoSKito-Crotrol:用於監視多節點Web應用程序性能的工具。

  使用該工具之前,你只需將.jar文件放到WEB-INF / lib文件夾中,或者在web.xml文件中新建一個節點。一旦工具啟動並運行,它就會開始收集性能數據,進行實時分析,同時將數據存儲在本地。

  該工具會收集所有的性能指標,如線程,內存,緩存,存儲,服務,註冊,轉換,SQL,負載分布等。它不需要更改代碼,本身就支持所有主流的應用程序服務器(Tomcat,Jetty,JBoss,WebLogic)。

  你可以根據系統了解何時達到閾值,以及被監控用戶的操作記錄。除了基於Web的儀表板,該工具還提供了一個移動應用程序來監控應用程序性能。

技術分享圖片
MoSKito’s Essential

  MoSKito於2007年首次推出,現在它是一個眾所周知的穩定的工具,由團隊和社區共同支持,包括付費支持選項,這也是該開源工具的巨大優勢。

  4. Glowroot

  Glowroot是一個快速,幹凈和簡單的APM工具。它可以跟蹤捕獲緩慢的請求和錯誤,能夠記錄每個用戶的操作時間,以及SQL捕獲和聚合。該工具還可保留匯總所有歷史數據。

  它通過圖表的方式顯示響應時間分布和響應時間百分比,並允許用戶通過移動設備監控應用程序性能。

  Architecture:

技術分享圖片
Glowroot architecture

  使用Glowroot之前需要下載並解壓安裝文件,並將-javaagent:path/to/ glowroot.jar添加到應用程序的JVM參數中。啟動應用程序後,剩下的所有操作可以訪問http:// localhost:4000。

  一旦工具啟動並運行,你將獲得能夠設置響應時間百分比和MBean屬性的警報。Glowroot提供對跨多線程異步請求的全面支持,支持Tomcat,TomEE,JBoss EAP,Wildfly,Jetty和Glassfish等服務器。

技術分享圖片
Glowroot’s dashboard

  如果方便簡單是你對監控工具的要求,毫無疑問,該工具最合適。

  5. Kamon

  Kamon是為在JVM上運行的應用程序而構建的工具包。更具體地說,它是為使用Typesafe平臺(使用Scala,Akka,Spray和/or Play!)構建的應用程序,但仍然對其他JVM平臺和語言提供支持。

  Architecture:

技術分享圖片

  Kamon作為核心模塊,包含所有記錄和跟蹤操作的API以及為應用程序提供字節碼檢測和報告功能的可選模塊。換句話說,它提供了一個簡單的API來記錄JVM應用程序的指標和性能信息。

  所有Kamon模塊都可以通過Maven Central獲得,你只需要將它們添加為項目的編譯依賴項即可。之後只需啟動Kamon,所有可用模塊將自動啟動,不需要顯式激活/啟動這些模塊。

  如果你使用的是JVM語言,或是Scala和Akka,並且需要一款性能監控工具,Kamon可能是最友好的選擇。

五大最佳開源java性能監控工具