推薦7個超棒的監控工具
Java 開發者最有用的監控工具有哪些呢?
監測是當今生產環境中很重要的一個功能。錯誤和效能問題任何時間都會出現 —— 不僅僅在業務時間內 —— 所以好的監控工具需要 7 天 24 小時。目前有許多從不同角度解決這個問題的工具,所以弄清楚去採用哪個不是那麼簡單。
今天,我帶來了 7 個監測工具以及它們的新一面,它們都是值得考慮作為像 New Relic 或 AppDynamics 的替代或補充。這些工具包括混合開源和 SaaS 模式,它們每個人都有其在度量、視覺化或跟蹤錯誤方面的專長或缺憾。
SaaS工具
1. Datadog
Datadog 是 SaaS 監測工具,針對 DevOps 團隊,從你的 app 或者其他各種工具獲取資料並提供資料視覺化功能。它把從你基礎裝置和軟體採集的資料統一處理並存儲。允許你建立儀表盤和搜尋訪問你提供的資料。他們目前提供資料的聚合和展示而不是提供資料分析。
Datadog 的一個優點是了開放所有 API,可以讓你很靈活的開發自己的指標或整合。
Datadog 儀表盤示例
缺點: Datadog 尚未提供太多資料統計功能,做為一個監控軟體,這些功能可能恰恰是你正在尋找的。他們還需要植入你的程式碼,這會產生程式碼依賴。
費用:它有免費版本和15美元/臺/月的標準版本,標準版費用可上下浮動,浮動的多少要看主機的數量。
java支援方面:官方文件中說明,Datadog API 支援 Python,Ruby 和 C#。不過,由於它的 API 訪問是開放的,因此 Datalog 社團編寫了幾個 Java 方面的庫,其中包括對 StatsD 和 Codahale 測量支援的庫。
其他:由於 Datadog 具有告警功能,而且可監控效能,因此它可作為一個價格相對便宜的應用程式效能監控器(APM)。有許多整合方案可以讓你毫不費力地把它整合到你的執行環境中。Datadog 是一個強大的採集並可視化測量結果的工具,而不是分析工具,因此如果你需要的是分析工具,那就要另尋它物了。
2. Ruxit
它由 Dynatrace 開發,Ruxit 是一個應用效能監控工具,它作用於 SaaS 模型。它通過 SaaS 提供不同的 APM 體驗,並工作在高擴充套件性環境中。它作為一個代理安裝,不需要你配置環境,它還提供了一個類似於 New Relic 的易於安裝的工具。他們監控使用者的活動,應用效能,伺服器和網路活動。
Ruxit面板
缺點: Ruxit 沒有在空間上提供很多深度功能給其他的 APM 工具。
消耗: Ruxit 監控應用會消耗 $0.15/主機/小時,並且對真實的使用者監控(Real User Monitoring)來說每 1000 個訪問者就花費 $0.15。
The Java Angle: Ruxit 可以工作在任何 Java 1.5 版本以上的 Java 伺服器上。Java 是他們首選語言,因此能獲得更好的支援。
Takeaway: Ruxit 是一個 SaaS APM 工具,並且它易於安裝也易於整合到你的環境中去。工具為你的環境提供一個良好的範圍廣度,並提供幾個不同區域的檢視。
3. Takipi
Takipi 告知你生產環境下的程式碼在什麼時候、因什麼原因而終止執行。它對所有錯誤進行檢測,同時會給出出現錯誤時程式碼的位置和變數的狀態。Takipi 是以 Java 代理的身份執行的,與任何日誌檔案無關,這樣就會減少小於 %3 的 CPU 和 IO 執行花費。安裝 Takipi 的時候,也不需要進行程式碼更改,不需要安裝二進位制依賴包或者進行構建配置的設定。就像整合 JIRA 和 Slack 那樣,Takipi 可以非常簡單地插入到工作流程中。
Takipi 的錯誤分析介面
缺點:它是一個只可用在 JVM 層上的工具,因此 JVM 不支援的語言它也不支援。目前,它也沒有可以與其他告警工具整合在一起的 API。
費用:免費級;專業級,其費用可上下浮動,69美元/伺服器/月;企業級。級別的劃分是根據儲存的資料量,分析的錯誤數和部署選項而確定的。
Java支援方面:Takipi 是執行在 JVM 層上的工具。任何不需要其它環境就可以執行在 JVM 上的語言,它都支援。
其他:與其他停留在棧追蹤層級的工具不同,Takipi 深入到 JVM 層級上,可以按照你的要求向你展示實際執行的程式碼和變數的狀態,以達到對每個錯誤的解析。通過 Takipi,你可以確定是否是新部署終止了正在執行的程式碼, 通過深入地分析應用出現的所有錯誤,聚焦出問題的關鍵所在。
4. Rollbar
Rollbar 著眼於錯誤追蹤與監控。它使用堆疊追蹤來捕捉應用中出現的錯誤。這樣做的好處是可以支援更多的語言和環境。Rollbar 也提供手工方式深入異常、事件內部,並提供報告的能力。除提供強大的異常捕獲能力外,還提供了一些警報和分析能力。
Rollbar 儀表板
劣勢: Rollbar 僅能捕獲“程式未捕捉異常”。如果你打算捕獲程式捕捉異常或其他,只好手工來做。由於依賴頂層程式未捕捉異常處理器,它能忽略由框架產生的異常,避免執行緒死鎖。
成本: 免費版本, $29/每月, $99/月 and $249/月,區別在與追蹤到的事件數量及資料保留長度.
Java支援: Rollbar 沒有提供 Java 的官方支援庫,但社群提供了一些實現,可以講你的日誌發給 Rollbar.
概述: Rollbar 是基於堆疊的錯誤追蹤應用,它能相容大多數開發語言。但負面影響是它僅能捕獲程式未捕捉異常及手動傳送的事件。
開放原始碼(的監控工具)
5. Sensu
Sensu 是一個面向應用和系統服務的開源監控框架。它能收集和使用多種工具的度量值,並提供已定義事件報警。Sensu,使用 Ruby 實現,採用“檢查和處理器”設定,週期性執行檢查指令碼,查詢預定義條件,如果條件滿足,則向處理器報告。處理器用於傳送通告或採取其他處置方法。
Sensu中的警報
劣勢: 不像 Ruxit,Sensu 並沒有真正的實現 APM 工具。它著重於伺服器監控。在安裝前端, Sensu 依賴 RabbitMQ 和 Redis,及其他依賴,這些依賴包可以在指定的軟體倉庫中找到。還有一些對於可擴充套件能力和維護複雜性的擔憂。當然,你的需求可能不同。
成本: Sensu Core 核心版(其中的開源專案)免費, 但也提供企業版本,企業版提供附加的整合、支援和特性。企業版費用標準: $2/每伺服器/每月, 大規模部署享受折扣。
Java視角: Sensu 的檢查和處理器指令碼能用任何開發語言編寫, Sensu 社群提供了Java支援外掛。
概述: Sensu 是雲和伺服器監控的一個開源替代框架實現,在搞擴充套件性和複雜性上還存在一些問題,但它仍然不失為一個度量引數值收集和服務監控的強力工具。
6. ELK stack
ELK Stack,嚴格來講,不是一個新產品,但我們常常忽略掉它,不放到我們的討論列表中。 ELK stack 是一個流行的工具套件,功能涵蓋監控、日誌和資料視覺化。它由 ElasticSearch, Logstash, and Kibana 三部分組成。其中,Elasticsearch 負責搜尋和分析,Logstash 是日誌聚積器,而 Kibana則提供華麗的視覺化儀表盤。我們已經在 Takipi中 使用 ELK Stack一段時間,使用 java 通過日誌和Redis 提供輸入。這既適用於開發者,同樣可用於 BI。今天, Elasticsearch 完美內建了 Logstash, Kibana 也是靈活的獨立工具。它們整合和設定都很簡單。你可以按照你的需要靈活搭配這三個工具使用。當實施(推出)新的部署時,儀表盤會遵照你設定的應用健康引數閥值指示器工作。這些指示器會實時更新,同樣允許你在上傳產品補丁程式碼時,暫時關閉監控。
ELK Stack 檢視
劣勢:ELK Stack 有著開源工具所通用的缺點(即你需要自己承擔工具的安裝成本和部署問題)。在大規模資料情況下,需要執行 ELK Stack 的機器數量成倍增長,這就需要你自己來監控和維護這些額外的機器。一種可行的方案是使用託管服務,例如 Logz.io 來減輕這種監控的壓力。
成本: 作為開源工具,ELK Stack 沒有任何價格負擔,但它也可以提供來自 Elastic 專業的服務支援。
Java視角: ELK Stack 轉為 Java 設計。事實上,ElasticSearch 和 Logstash 執行在 Java 環境。Elastic 要求的 Java 版本最低為 Java7,且所有的 ElasticSearch 節點的 JVM 版本必須相同。
其他: ELK Stack,包括 ElasticSearch Logstash, 和 Kibana,是一整套提供搜尋分析日誌並帶有視覺化功能的開源工具。這一套工具整合地非常好,所以使用起來也很簡單(雖然它並不是必須的)。
7. Graphite
Graphite 是應用程式監控度量值的視覺化工具,包括三個元件 (Carbon, Whisper, 和Graphite-web),它的開源特性使得它能被方便定製和改進. 如何構建你自己的 Graphite 構架,可以參看我們的文章here。
Graphite 提供了強大的查詢訪問API和特性豐富的設定。它並不需要設定自身的度量,而是提供Graphite metric protocol ,被多種度量採集器選擇的事實協議格式。因此,輸入給它的資料完全不是問題。使用 Graphite 能使你為你的應用建立各種檢視。
預設的Graphite儀表盤GUI
缺點: Graphite 面臨開源工具的共同困境(也就是,安裝的開銷以及部署的問題)。另外,Graphite 在大規模的情況下會遇到問題,這些問題是由 Carbon 和 Whisper 元件的設計決策而來。這是一個偏好問題,但是人們對預設的 GUI 也沒有太大的熱情。
開銷: 下載 Graphite 是免費的,但是你需要將硬體的因素以及運維的開銷考慮在內。 相對於 Graphite 而言,也有許多替代品,如 Grafana 和 InFluxDB 也是免費的。如果你想使用 Graphite,而不希望自己部署,也可以通過付費的方式進行託管。
Java視角: Graphite 是語言無關的,有許多工具可以從 Java 應用程式收集指標,並將它們傳送給 Graphite。
紀要: Graphite 是一個受歡迎的開源軟體工具,它以視覺化的方式展示從應用程式收集的指標。它有開源軟體共同的缺點,以及規模化的限制。不過,如果你願意付費或者定製,這兩方面的缺點都可以通過許多不同的方式來克服。
結論
如今,監控工具是生產環境的重要組成部分。測量結果的視覺化、錯誤追蹤、效能監控和應用分析是對應用的執行狀況進行深入觀測的基本手段。認識到這一需求非常容易,但要選擇哪一款監控工具或者哪一組監控工具卻異常困難。
上面我提到的7個工具:Datalog,Ruxit,Takipi,Rollbar,Sensu,ELK Stack 和 Graphite 都是值得考慮的。這些工具要麼是最近才建立的,要麼是這篇文章中未提到的一些大型監控工具的替代工具。選擇部署哪款監控工具要明確在哪兒才能搜尋這些工具。這兒所提到的工具就是一個很好的開始。
來源:oschina
相關推薦
推薦7個超棒的監控工具
Java 開發者最有用的監控工具有哪些呢? 監測是當今生產環境中很重要的一個功能。錯誤和效能問題任何時間都會出現 —— 不僅僅在業務時間內 —— 所以好的監控工具需要 7 天 24 小時。目前有許多從不同角度解決這個問題的工具,所以弄清楚去採用哪個不是那麼簡單。 今天,我帶來了 7 個
推薦 10 個超棒的 CSS3 程式碼生成工具
新的線上工具和 WebApp 幫助開發者快速地建立網站而不用寫程式碼。前端開發已經在框架和程式碼庫方面有了很大的進展。 但是許多開發者已經忘記了程式碼生成器在構建網站時的價值。下面的資源是完全免費的 WebApp,這些 WebApp 能夠為模板,漸變,甚至瀏覽器屬性的
Web前端程式設計師推薦7個實用的JavaScript工具
在web前端開發中,JavaScript是必備的全能指令碼語言,可以建立更加友好的使用者互動式網站和應用。但也正是由於JS程式碼在前端執行,所以很多初學者在剛開始寫JS程式碼的時候,基本上都不會太考慮網站效能問題。今天小編為大家分享7個可以幫你優化網站效能的JavaS
10 個超棒的 CSS3 程式碼生成工具
以下資源是完全免費的web應用,可用於生成圖案、漸變、甚至瀏覽器字首屬性的CSS3程式碼。如果你寫的是前端程式碼,然後這些資源可以為你節省大量的時間,併為今後的專案工作提供可重複片段。 1. CSS3 Generator 大家最喜愛的用於程式碼生成的web應用之一就是CSS3 Gener
推薦 8 個超實用的效率工具 (Windows 篇)
Windows 作為市場佔有份額最大的作業系統,我們不可否認它的強大,但不代表一點毛病也沒有,比如 同時檢視不同資料夾需要開啟多個檔案資源管理器,在資源管理器搜尋檔案可能需要等待很長時間,自帶的解除安裝程式,檔案處理不乾淨,還有可能拖慢執行速度。 這些問題可以說拖慢了工作
11 個超棒的 jQuery 分步指引插件
trap 特定 需要 開發 ews 新功能 com ava 選項 當一個網站或者一個Web應用推出新功能時,為了讓用戶了解你的站點(或應用)如何操作,往往都會在站點(應用)中添加一個分步指引的效果。然而這樣的效果,對於不懂原生JS的同學來說,是件很頭痛的事情。 下面為大家介
推薦3個微信小工具,99%的人都不知道
微信這個不多說,現在已經成為了一款超級 APP,幾乎是每個人手上都會有的 APP,但是大家都知道它是一款社交工具,支付工具,大多都是用來聊天,刷朋友圈,移動支付,但是其實微信有很多的小工具讓我們使用,而且超級方便好用,不過幾乎沒有人知道。 今天我們就告訴大家一個
為 OS X 開發者準備的 15 個超棒應用
幾乎所有的開發人員在他們日常的開發工作中都有他們自己不可缺少的工具或實用程式集。 這些工具中的每一個都提供了特定的功能,大多數開發者都已經將他們整合到了其工作流程中。使用這些工具或實用程式不單單只是使得某個人的工作流程更加便利易行——更多的是服務於功利性和整潔性的目的。 本文中
推薦55個經典開源Windows工具
開放原始碼軟體已經成為一個時髦的名詞,這裡有兩個有力的證據:Firefox瀏覽器的下載人次超過了2500萬;同時,基於Linux的Web伺服器也佔據了最大的市場份額。人們普遍相信,開放原始碼軟體(open-source
25 個超棒的 HTML5 & JavaScript 遊戲引擎開發庫
就像在汽車中,引擎完成主要的工作,使汽車看起來不可思議。遊戲引擎同理,遊戲開發者完成細節的工作,使遊戲看起來真實、吸引人眼球。遊戲引擎負責其餘的事情。早期,遊戲開發者通常從草圖做起,花費高昂,且不容易獲利。為了讓遊戲開發更加簡單容易,主要的開發者開始授權他們的基本遊戲引擎,如 Unreal。而且,隨著手機和
IT專案管理分享7個開源專案管理工具
在一項調查中,有 71% 的組織表示他們在開發過程中會用到敏捷方法。 此外,用敏捷方法管理專案比傳統方法管理專案成功率高 28%。在這次工具推薦中,我們從一些比較受歡迎的開源專案管理工具中摘取了支援敏捷的幾項。 無論您的組織已經在使用敏捷,還是正計劃使用,相信這 7 個開源的專案管理工具都能給你帶來幫助。
5個超棒的HTML5框架
大多數的Web開發者一直在用關鍵點來尋找動態的框架,這樣能簡化他們的設計和開發工作。 HTML5框架在所有的Web瀏覽器和手機應用上都展現了優秀的效能。它不僅簡化了HTML5開發中CSS開發的沉重負擔,還提高了網站的可見性。主要的原因是HTML5提供了獨有的特徵,例如特
區塊鏈去中心化能做什麼?7個超酷的以太坊DApp | 以太坊區塊鏈教程
去中心化應用(DApp:Decentralized Application)是區塊鏈社群中出現的新穎想法之一。 憑藉自主執行的智慧合約,該技術的支持者已經提出各種解決方案來嘗試取代今天需要中心化權威的系統:從企業、服務到政府。 你可以用DApp做什麼?下面
你值得擁有:25個Linux效能監控工具
在這篇文章中我們將羅列一系列使用最頻繁的效能監控工具,並對介紹到的每一個工具提供了相應的簡介連結,大致將其劃分為兩類,基於命令列的和提供圖形化介面的。 一段時間以來,我們在網上向讀者介紹瞭如何為Linux以及類Linux作業系統配置多種不同的效能監控工具。在這篇文章中我
面向敏捷開發團隊的 7 個開源專案管理工具 | Linux 中國
在這篇開源專案管理工具的綜述中,讓我們來了解一下支援 Scrum、看板等敏捷開發模式的軟體。--
每個系統管理員都要知道的 30 個 Linux 系統監控工具
11. netstat - Linux 網路統計監控工具netstat 命令顯示網路連線、路由表、介面統計、偽裝連線和多播連線等資訊。# netstat -tulpn # netstat -nat12. ss - 網路統計ss 命令用於獲取套接字統計資訊。它可以顯示類似於 netstat 的資訊。不過 net
linux下的幾個網路流量監控工具使用
1、nethogs 1)NetHogs是一款開源、免費的,終端下的網路流量監控工具,它可監控Linux的程序或應用程式的網路流量。NetHogs只能實時監控程序的網路頻寬佔用情況。NetHogs支援IPv4和IPv6協議,支援本地網絡卡以及PPP連結 2)debian下安裝
25個超棒的jQuery日曆和日期選取外掛(1)
jQuery被認為是最好的JavaScript庫,因為它簡單易用、靈活,並有大量的外掛。 本文介紹25個非常不錯的jQuery日曆和日期選取外掛,希望對各位有用。您也可以在jQuery給力外掛大閱兵查詢更多的jQuery外掛。 1. Simple JQuery Date P
推薦五個免費UML建模工具
Argo UML:ArgoUML 是一款開源的UML 建模工具,支援所有UML 1.4 的標準圖形。它可以執行在任何Java 平臺上,並且支援10 種語言(地區語言而不是程式語言)。它用Java構造,並遵守開源的BSD協議。
學習用CSS3製作50個超棒動畫效果教程
CSS3為我們帶來了令人驚歎的新特性,而最有趣的就是CSS動畫。向大家推薦這50個CSS動畫集合可以讓你通過使用JavaScript函式來讓動畫更生動。為了能夠預覽到這些驚人的CSS3技術帶來的動畫特效,請大家使用如Safari和Chrome這類基於WebKit核心的瀏覽器。(IE瀏覽器謝絕觀賞~)