若是你正在尋找性能監控工具,不妨看看如下推薦的這五款開源工具,這些工具目前已經能夠替代付費工具了,你能夠看看是不是你的最佳選擇。本文推薦的五款開源工具目前是開源社區中最受歡迎的。html
1. Stagemonitorjava
Stagemonitor提供了一個Java監控代理程序,它是使用集羣應用程序堆棧構建的。意思是它旨在監控在多個服務器上運行的應用程序。該工具與時間序列數據庫(TSDB)集成。此工具已針對時間序列數據以及按時間索引的數字數組進行優化。包括如下數據庫:Elasticsearch,Graphite和InfluxDB。web
Architecture:數據庫
Stagemonitor包含一個位於Java應用程序中的代理,可將度量標準和請求跟蹤發送到中央數據庫。該工具只須要一個實例就能夠監控全部應用程序,實例和主機,而且能夠部署在你本身的數據中心內。後端
在監控方面,你能夠從集羣或直接從開發人員服務器查看歷史或實時數據,建立自定義報警機制,併爲每一個指標定義閾值。數組
Stagemonitor包括一個儀表板,能夠可視化分析你感興趣的不一樣指標和請求。你能夠自定義儀表板,編寫自定義插件,甚至使用第三方插件。它提供了一個無需後端的瀏覽器窗口小部件,自動注入受監控的網頁。在官方文檔中,Stagemonitor還支持不基於servlet的應用程序。瀏覽器
若是你對ELK堆棧很熟悉,該工具絕對值得一試。緩存
2. Pinpoint服務器
Pinpoint是用於大規模分佈式系統的APM工具。它是在Dapper(一個由Google構建的分佈式系統跟蹤基礎架構)以後構建的,爲開發人員提供有關複雜分佈式系統行爲的更多信息。多線程
Architecture:
該工具經過在分佈式應用程序中跟蹤事務,幫助分析系統的總體結構及其中的組件是如何互相影響的。它旨在解釋每一個事務如何執行,跟蹤組件之間的行爲,指出發生問題的區域和潛在的瓶頸。
儀表板幫助可視化組件如何鏈接,並容許用戶實時監控應用程序內的活動線程。Pinpoint還容許用戶查看請求計數和響應模式,以便及時識別潛在問題。你能夠查看包括CPU使用率,內存/垃圾回收和JVM參數等詳細信息。
若是你據說過Dapper,或者想要監控和分析複雜的分佈式系統,你必定要試試這個工具。
三、MoSKito
MoSKito內包含三種工具:MoSKito-Essential:最基本的獨立項目。它是MoSKito功能的核心,能夠監控應用程序。MoSKito-Central:用於存儲性能數據的集中存儲服務器。MoSKito-Crotrol:用於監視多節點Web應用程序性能的工具。
使用該工具以前,你只需將.jar文件放到WEB-INF / lib文件夾中,或者在web.xml文件中新建一個節點。一旦工具啓動並運行,它就會開始收集性能數據,進行實時分析,同時將數據存儲在本地。
該工具會收集全部的性能指標,如線程,內存,緩存,存儲,服務,註冊,轉換,SQL,負載分佈等。它不須要更改代碼,自己就支持全部主流的應用程序服務器(Tomcat,Jetty,JBoss,WebLogic)。
你能夠根據系統瞭解什麼時候達到閾值,以及被監控用戶的操做記錄。除了基於Web的儀表板,該工具還提供了一個移動應用程序來監控應用程序性能。
MoSKito於2007年首次推出,如今它是一個衆所周知的穩定的工具,由團隊和社區共同支持,包括付費支持選項,這也是該開源工具的巨大優點。
4. Glowroot
Glowroot是一個快速,乾淨和簡單的APM工具。它能夠跟蹤捕獲緩慢的請求和錯誤,可以記錄每一個用戶的操做時間,以及SQL捕獲和聚合。該工具還可保留彙總全部歷史數據。
它經過圖表的方式顯示響應時間分佈和響應時間百分比,並容許用戶經過移動設備監控應用程序性能。
Architecture:
使用Glowroot以前須要下載並解壓安裝文件,並將-javaagent:path/to/ glowroot.jar添加到應用程序的JVM參數中。啓動應用程序後,剩下的全部操做能夠訪問http:// localhost:4000。
一旦工具啓動並運行,你將得到可以設置響應時間百分比和MBean屬性的警報。Glowroot提供對跨多線程異步請求的全面支持,支持Tomcat,TomEE,JBoss EAP,Wildfly,Jetty和Glassfish等服務器。
若是方便簡單是你對監控工具的要求,毫無疑問,該工具最合適。
5. Kamon
Kamon是爲在JVM上運行的應用程序而構建的工具包。更具體地說,它是爲使用Typesafe平臺(使用Scala,Akka,Spray和/or Play!)構建的應用程序,但仍然對其餘JVM平臺和語言提供支持。
Architecture:
Kamon做爲核心模塊,包含全部記錄和跟蹤操做的API以及爲應用程序提供字節碼檢測和報告功能的可選模塊。換句話說,它提供了一個簡單的API來記錄JVM應用程序的指標和性能信息。
全部Kamon模塊均可以經過Maven Central得到,你只須要將它們添加爲項目的編譯依賴項便可。以後只需啓動Kamon,全部可用模塊將自動啓動,不須要顯式激活/啓動這些模塊。
若是你使用的是JVM語言,或是Scala和Akka,而且須要一款性能監控工具,Kamon多是最友好的選擇。