六款開源java應用性能監控工具

如果你正在尋找性能監控工具,不妨看看以下推薦的這六款開源工具,這些工具目前已經可以替代付費工具了,你可以看看是否是你的最佳選擇。本文推薦的六款開源工具目前是開源社區中最受歡迎的,在https://github.com上都能直接搜到。

原文來自:http://tech.it168.com/a2017/0120/3093/000003093435.shtml

1. SkyWalking

       我首先推薦的是這個(國產的,得支持),SkyWalking 是一款開源的應用性能監控系統,包括指標監控,分佈式追蹤,分佈式系統性能診斷。專爲微服務、雲本機架構和基於容器(Docker、K8s、Mesos)架構而設計。

其架構如下: 

 

以下是監控效果圖:

 

 

 

 作爲一款我一直想集成到我的性能監控平臺裏的一個開源項目,重點給大家推薦。官網:https://skywalking.apache.org/zh/

2. Stagemonitor

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

  Architecture:

五大開源java性能監控工具

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

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

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

五大開源java性能監控工具

  如果你對ELK堆棧很熟悉,該工具絕對值得一試。官網:http://www.stagemonitor.org/

3. Pinpoint

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

  Architecture:

五大開源java性能監控工具

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

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

五大開源java性能監控工具

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

       官網:https://naver.github.io/pinpoint/

4、MoSKito

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

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

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

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

五大開源java性能監控工具


                                                                             ▲MoSKito’s Essential

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

5. Glowroot

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

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

  Architecture:

五大開源java性能監控工具


                                                                                 ▲Glowroot architecture

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

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

五大開源java性能監控工具


                                                                       ▲Glowroot’s dashboard

  如果方便簡單是你對監控工具的要求,毫無疑問,該工具最合適。官網:https://glowroot.org/

6. Kamon

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

  Architecture:

五大開源java性能監控工具

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

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

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

       官網:http://kamon.io

  結語

  這些可能是APM領域付費產品最好的替代品,但並不意味着這是一種省錢的方式。開源工具其實同樣是有成本的,安裝、維護、故障排除等都需要專門的人員解決,更不用說,當你遇到一個社區中從未出現過的問題時,需要浪費多少時間尋求答案了。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章