1. 程式人生 > >Java 開發者最有用的監控工具有哪些呢?

Java 開發者最有用的監控工具有哪些呢?

監測是當今生產環境中很重要的一個功能。錯誤和效能問題任何時間都會出現 —— 不僅僅在業務時間內 —— 所以好的監控工具需要 7 天 24 小時。目前有許多從不同角度解決這個問題的工具,所以弄清楚去採用哪個不是那麼簡單。

今天,我帶來了 7 個監測工具以及它們的新一面,它們都是值得考慮作為像 New Relic 或 AppDynamics 的替代或補充。這些工具包括混合開源和 SaaS 模式,它們每個人都有其在度量、視覺化或跟蹤錯誤方面的專長或缺憾。

推薦 7 個超棒的監控工具

SaaS工具

1. Datadog

Datadog 是 SaaS 監測工具,針對 DevOps 團隊,從你的 app 或者其他各種工具獲取資料並提供資料視覺化功能。它把從你基礎裝置和軟體採集的資料統一處理並存儲。允許你建立儀表盤和搜尋訪問你提供的資料。他們目前提供資料的聚合和展示而不是提供資料分析。

Datadog 的一個優點是了開放所有 API,可以讓你很靈活的開發自己的指標或整合。

推薦 7 個超棒的監控工具

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 的易於安裝的工具。他們監控使用者的活動,應用效能,伺服器和網路活動。

推薦 7 個超棒的監控工具

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 可以非常簡單地插入到工作流程中。

推薦 7 個超棒的監控工具

Takipi 的錯誤分析介面

缺點:它是一個只可用在 JVM 層上的工具,因此 JVM 不支援的語言它也不支援。目前,它也沒有可以與其他告警工具整合在一起的 API。

費用:免費級;專業級,其費用可上下浮動,69美元/伺服器/月;企業級。級別的劃分是根據儲存的資料量,分析的錯誤數和部署選項而確定的。

Java支援方面:Takipi 是執行在 JVM 層上的工具。任何不需要其它環境就可以執行在 JVM 上的語言,它都支援。

其他:與其他停留在棧追蹤層級的工具不同,Takipi 深入到 JVM 層級上,可以按照你的要求向你展示實際執行的程式碼和變數的狀態,以達到對每個錯誤的解析。通過 Takipi,你可以確定是否是新部署終止了正在執行的程式碼, 通過深入地分析應用出現的所有錯誤,聚焦出問題的關鍵所在。

4. Rollbar

Rollbar 著眼於錯誤追蹤與監控。它使用堆疊追蹤來捕捉應用中出現的錯誤。這樣做的好處是可以支援更多的語言和環境。Rollbar 也提供手工方式深入異常、事件內部,並提供報告的能力。除提供強大的異常捕獲能力外,還提供了一些警報和分析能力。

推薦 7 個超棒的監控工具

Rollbar 儀表板

劣勢: Rollbar 僅能捕獲“程式未捕捉異常”。如果你打算捕獲程式捕捉異常或其他,只好手工來做。由於依賴頂層程式未捕捉異常處理器,它能忽略由框架產生的異常,避免執行緒死鎖。

成本: 免費版本, $29/每月, $99/月 and $249/月,區別在與追蹤到的事件數量及資料保留長度.

Java支援: Rollbar 沒有提供 Java 的官方支援庫,但社群提供了一些實現,可以講你的日誌發給 Rollbar.

概述: Rollbar 是基於堆疊的錯誤追蹤應用,它能相容大多數開發語言。但負面影響是它僅能捕獲程式未捕捉異常及手動傳送的事件。

開放原始碼(的監控工具)

5. Sensu

Sensu 是一個面向應用和系統服務的開源監控框架。它能收集和使用多種工具的度量值,並提供已定義事件報警。Sensu,使用 Ruby 實現,採用“檢查和處理器”設定,週期性執行檢查指令碼,查詢預定義條件,如果條件滿足,則向處理器報告。處理器用於傳送通告或採取其他處置方法。

推薦 7 個超棒的監控工具

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 也是靈活的獨立工具。它們整合和設定都很簡單。你可以按照你的需要靈活搭配這三個工具使用。當實施(推出)新的部署時,儀表盤會遵照你設定的應用健康引數 閥值指示器工作。這些指示器會實時更新,同樣允許你在上傳產品補丁程式碼時,暫時關閉監控。

推薦 7 個超棒的監控工具

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 能使你為你的應用建立各種檢視。

推薦 7 個超棒的監控工具

預設的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 都是值得考慮的。這些工具要麼是最近才建立的,要麼是這篇文章中未提到的一些大型監控工具的替代工具。選擇部署哪款監控工具要明確在哪兒才能搜尋這些工 具。這兒所提到的工具就是一個很好的開始。

原文連結:http://developer.51cto.com/art/201507/483006.htm

相關推薦

Java 開發者有用監控工具哪些?

監測是當今生產環境中很重要的一個功能。錯誤和效能問題任何時間都會出現 —— 不僅僅在業務時間內 —— 所以好的監控工具需要 7 天 24 小時。目前有許多從不同角度解決這個問題的工具,所以弄清楚去採用哪個不是那麼簡單。 今天,我帶來了 7 個監測工具以及它們的新一面,它

喜歡的SEO工具哪些

SEO www.nw1022.com 對於搜索引擎優化分析和推廣,我傾向於使用SE排名的全包搜索引擎優化軟件。該平臺專為企業主,搜索引擎優化專業人士和數字機構設計,以減輕他們的日常活動。該軟件提供所有標準的搜索引擎優化工具以及其他搜索引擎優化平臺無法找到的特殊功能: 關鍵字排名跟蹤 - 在主要搜索引擎

Java代碼優化,都哪些常用方法?

Java開發 Java學習 Java代碼優化 Java代碼優化是Java編程開發很重要的一個步驟,Java代碼優化要註重細節優化,一個兩個的細節的優化,產生的效果不大,但是如果處處都能註意代碼優化,對代碼減少體積、提高代碼運行效率是有巨大幫助的,還能在一定程度上避免未知錯誤,常用的Java代碼優化

[轉載]時間管理常見的誤區哪些

自己 build 常見 兩個 bass 其他 IV rtu 繼續 作者:KnowYourself鏈接:https://www.zhihu.com/question/19983640/answer/188564246來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商

安裝辦公室電腦監控哪些作用?

完成 自己的 科技公司 電腦監控軟件 人員 威脅 同時 文件的 商業 你對信息安全的了解有多少?不曾領會過因為信息安全導致的錯,永遠都不知道會有多痛。對於很多企業管理者來說,忽視機密信息保密,帶來的代價往往是非常慘痛的。尤其是一些中小企業,對於這些資金相對來說比較缺乏的中小

Java中的隊列都哪些什麽區別?

而是 隊列 style tor 刪除元素 log tails detail .net Queue: 基本上,一個隊列就是一個先入先出(FIFO)的數據結構 Queue接口與List、Set同一級別,都是繼承了Collection接口。LinkedList實現了Deque接

新手Java開發者常見的難題是什麼?

軟體開發中最大的難題不是編寫程式,寫程式碼只是按照邏輯去實現功能,這相對於開發者需要做的其他事情來說簡單直接多了。如果你還是一個剛入行的程式設計師,那你一定要在真正的走向職業道路前確保可以解決下面這些障礙。 1.形象的說出解決方案 你會經常接到一些簡潔的,但通常表意不明的需求。比如現在有一個

Java 常見的垃圾收集器哪些

實際上,垃圾收集器(GC,Garbage Collector)是和具體 JVM 實現緊密相關的,不同廠商(IBM、Oracle),不同版本的 JVM,提供的選擇也不同。接下來,我來談談最主流的 Oracle JDK。 Serial GC,它是最古老的垃圾收集器,“Serial”體現在其收集工作是

java 對執行緒安全支援哪些

同步容器。它的原理是將狀態封裝起來,並對每個公有方法都實行同步,使得每次只有1個執行緒能夠訪問容器的狀態。 Vector和HashTable Collections.synchronizedXXX方法 同步容器的問題

APP開發工具哪些?免程式設計手機APP開發工具推薦

現代人最害怕什麼?一是手機沒電,二是手機沒網。一部手機解決所有問題,看新聞、玩遊戲、工作、學習、社交、購物等等。一夜之間掃碼支付、共享單車遍佈大街小巷,手機App對大家的生活形成了顛覆性影響。手機App開發自然成為創業者的一致選擇,那麼如何開發一款手機App呢?

java中string的建構函式哪些--百度

String類中的建構函式 String(); 構造一個空字串物件 String(byte[] bytes); 通過byte陣列構造字串物件 String(byte[] bytes,int offset,int length);通過byte陣列,從offset開始,總共length長的位元組構造字串

高質量文章偽原創工具哪些

作為程式設計師都知道高質量文章偽原創工具很多,今天我只分析一個比較有趣的工具,名字叫做:小發貓AI+,看名字就知道是基於AI開發的,所以偽原創效果一定也很人工智慧,大家可以體驗一下:小發貓官網 每個人都知道,我們從媒體做的最重要的事情是每天釋出一些相關的文章或視訊,以啟

電腦端良心的軟體哪些

所以就把這個答案的【良心軟體】送給大家(~ o ~)~zZ 前方高能(~ o ~)~zZ UZER https://uzer.me UZER 是一個無需下載安裝,就可以在瀏覽器中使用各種企業級大型軟體(比如Office 系列,PS,AutoCAD)。

資料分析師常用的工具哪些

眾所周知,現在是一個網路時代,而網路的飛速進步,使得人們對於資料的要求越來越高,同時資料處理和分析的重要性也越來越明顯。因此,大資料應運而生,而資料分析師作為大資料行業中相對來說門檻較低的一個工作崗位,正在被越來越多的年輕人所喜愛。然而,雖說資料分析師要求較低,但一些常用的工具還是需要我們掌握的,那麼資料

JDK自帶的命令列工具哪些

在JDK的bin目錄下包含了很多功能強大的命令列工具,它們的主要功能程式碼都是在jdk/lib/tools.jar中實現的。下面一一介紹這些命令列工具。 jps jps是JVM Process Status Tool的簡稱,用於顯示指定系統內所有的Hot

Java應用程式效能監控工具

簡介 當一個軟體系統完成基本功能上線執行後,如前期設計不佳,後面很容易出現記憶體和效能問題。解決這些問題有多種途徑,其中最為常用的方式:藉助監控工具,直接找到問題點(或某個範圍),然後仔細研究程式碼,找出根因並整改。本文僅對效能類問題做深入探討 當程式出現效能問題後,

大資料分析常用的工具哪些(二)

在上篇文章中,筆者為大家介紹了幾種常用的大資料使用工具,而除了那些之外,還有一些在大資料中經常會用到的工具。接下來,就讓筆者繼續為大家介紹一下吧。 第三類,資料探勘類。 1.RapidMiner 這款工具主要就是用來對資料進行預測和分析的,其視覺化的介面,讓使用者不必再自行

大資料分析常用的工具哪些(一)

眾所周知,現在大資料行業發展得十分火熱,而大資料也確實為我們的生活帶來了許多的便利。隨著大資料的不斷髮展,需求的不斷增多和提升,大資料的使用工具也變得更為重要,它們能讓大家節省更多的時間和金錢。 在大資料這一概念提出到現在的這十年間,市面上出現了各類的大資料使用工具,讓我們從中遴選

Java集合類的基本介面哪些

Collection:代表一組物件,每一個物件都是它的子元素。Set:不包含重複元素的Collection。List:有順序的Collection,並且可以包含重複元素。Map:可以把鍵(key)對映到值(value)的物件,鍵不能重複。

業界 | 摩根大通報告12個亮點總結:金融領域的機器學習工具哪些

選自eFinancialCareers 作者:Sarah Butcher 機器之心編譯 參與:李澤南、吳攀 金融機構由於面臨激烈的競爭壓力,需要不斷對自身結構和人才資源進行迭代,以適應不斷變化的新情況。隨著微軟前首席科學家鄧力宣佈加盟對衝基金巨頭 Citade