Java程式設計師須知的七個日誌管理工具

importnew發表於2014-07-15

  日誌管理工具有 Splunk、Sumo Logic、LogStash、GrayLog、Loggly 和 PaperTrails 等等,數不勝數。日誌就像石油,二十多年了我們一直想擺脫它,卻一直沒有做到。

  為了處理日益增長的資料,近年來出現了一大批分析和管理日誌的工具,開發和管理人員能夠藉助這些工具來了解增長的資料。在這篇文章中,我將站在開發者的角度,分析一下這些工具的特點。

Splunk vs. Sumo Logic vs. LogStash vs. GrayLog vs. Loggly vs. PaperTrails vs. Splunk>Storm

  Splunk

  作為這個領域中最大的工具,我決定將 Splunk 做一個單獨的分類。並不是說這個工具是最好的,而是對這個產品給予肯定,因為它從本質上創造了一個新的領域。

  優點

  在這個領域內功能最齊全的可能就是 Splunk 了。它有數百個來分析各種形式日誌資訊的程式(我計算的是537 個)——從安全領導到商業分析,再到底層監控。Splunk 的搜尋和圖表工具如此豐富,沒有通過它(UI 和 API)得不到的資料。

  缺點

  Splunk 主要有兩個缺點。第一,這個因素可能有些主觀,我覺得這個解決方案太複雜了。如果要在一個高度複雜的環境中部署,就需要安裝和配置一個專用叢集。作為一個開發者,通常會因為這點而不把這個方案作為第一選擇。

  第二個缺點是它太昂貴了。要支援一個真實世界的軟體,你可能會花費一萬多美金,這很可能就意味著你需要從其他地方削減預算,這樣開發程式就慢了。如果你剛上架了一款 app,但是要得到高質量的日誌分析卻又不影響開發程式——請繼續閱讀。

  更多企業級日誌分析工具請點選這裡

  SaaS 日誌分析工具

  Sumo Logic

  Sumo 是在 Splunk 的基礎上建立的 SaaS 版本,它沿用了 Splunk 早期的一些特性和視覺效果。不得不說,SL 今天已經發展成了一個成熟的企業級日誌管理工具。

  優點

  SL 具備對資料簡化、查詢、製表等功能。可能是 SaaS 型的日誌分析工具中功能最多的了。同樣,作為 SaaS 型,SL 還具有安裝簡單,操作簡單等優點。最吸引人的地方是,你可以建立一個基線,當一個事件(像是一個新版本首次上線或者惡意的請求等)使一些重要的指標發生了 變化時,你可以收到動態通知。

  缺點

  由於這是通過 SaaS 的方式進行日誌分析的,所以你必須將大量的資料上傳至伺服器進行分析,這就可能產生一些問題:

  1. 作為一個開發者,如果要分析的日誌涉及到敏感資訊或者 PII 你要確保做好了遮蔽。
  2. 在日誌生成的時間與日誌上傳至服務的時間之間可能存在一些衝突。
  3. 在你的機器上回多出來幾個 GB 的開銷用於上傳日誌,不過這取決於你日誌的吞吐量。

  Sumo 服務的購買價格不是透明的,所以你要是想刷你團隊的信用卡來購買的話會很麻煩。

  更新——SL 團隊剛剛告訴我們,你可以直接用信用卡從免費版本中購買服務,雖然不像網頁版那樣方便,但是也蠻不錯的。

  Loggly

  Loggly 也是一個健壯的日誌分析工具,強調簡潔樸素讓開發者用起來方便。

Java程式設計師須知的七個日誌管理工具

  優點

  SL 注重的是企業級別的應用和安全性,而 Loggly 卻將重點放在了幫助開發者查詢和修復操作性的問題上。因為操作介面非常友好,自定義效能和開發者儀表盤這種東西非常簡單。並且它的價格透明,入門方便。

  缺點

  不要奢望 Loggly 具備成熟的架構、安全和分析解決方案。Loggly 不具備取證和監控基礎架構,它僅僅是幫助開發者處理應用伺服器資料的一個工具。除此之外的其他事情就需要你自己去做了。

  PaperTrails

  PaperTrails 擅長從多臺機器上查詢日誌,並提供一個合併的視窗,使用起來很方便。鑑於你是從雲端追蹤日誌,所以你離他們不會太遠。

Java程式設計師須知的七個日誌管理工具

  優點

  PT 就是這麼一個工具。通過它你可以從一個視窗輕鬆的查詢多臺機器上的日誌。使用者操作本身就像你機器上的日誌,搜尋命令也一樣。它致力於將日誌管理變得簡單、易用,可以優雅地處理。而且它還不算很貴

  缺點

  PT 是基於文字格式的。如果需要支援先進的整合、預測和報告功能,就顯得力不從心了。

  Splunk>Storm

  這是 Splunk 的兄弟, Splunk 的伺服器上提供託管。

  優點

  Storm 讓你無需安裝軟體,就能體驗 Splunk 的完整版的功能。

  缺點

  Storm 不是商業的,所以你的流量有限。你可以將其視作一個 Splunk 的限制版本,無需部署即可幫助新產品測試。最近有個叫 Splunk Cloud 的新服務,致力於提供 Splunk SaaS 的完整體驗。

  開源的分析軟體

  Logstash

  Logstash 是一款收集和管理日誌的開源工具。它用到了一些其他的開源的資源:使用 ElasticSearch 來索引和查詢資料,使用 Kibana 製表和視覺化處理。他們聯合起來,組成一個強大的日誌管理解決方案。

Java程式設計師須知的七個日誌管理工具

  優點

  作為一個開源的解決方案,Logstash 允許使用者有更大的定製空間,而且很便宜。Logstash 用了三個成熟的開源部件——都受到了很好的維護——組成一個強大的可擴充套件的軟體包。由於開源,安裝和使用和非常方便。

  缺點

  由於 Logstash 從本質上來說是三個部件的堆砌,所以你需要面對三個不同的產品。這就意味著擴充套件也變得很複雜。Logstash 的過濾器是用 Ruby 寫的,Kibana 是用純 Javascript 寫的,而 ElasticSearch 也有自己的 REST 介面和 JSON 模板。

  當你轉向產品時,還需要將三個不同的工具部署到伺服器上,無疑增加了複雜度。

  Graylog2

  最近出現的一顆新星——GL2,用 MongoDB 和 ElasticSearch 支援的用來儲存與搜尋日誌錯誤的工具。它致力於幫助開發者找到並修復程式中的錯誤。

  在這一方面,還有 fluentdKafka 也是專注於儲存日誌的。看!我們有這麼多選擇啊!

  Takipi for Logs

Java程式設計師須知的七個日誌管理工具

  雖然這篇文章不是關於 Takipi 的,但是它有一項特性,你也許會發現和日誌有關。

  對於日誌分析工具來說,最大的缺點就是你必須要有日誌可以分析。從整合開發環境的角度看,如果沒有異常報告,或者沒有錯誤資訊的資料,你就沒辦法知道哪裡出問題了,這樣世界上任何工具都幫不了你了!Debug 就卡在這裡了。:(

  在 Takipi 的一項優勢就是可以跳過日誌檔案,進入到除錯資訊中。這樣你就能看到真實的原始碼和錯誤範圍的變數了。瞭解更多點選這裡

  Takipi 會報告所有的異常和錯誤,並且告訴你哪裡出錯了,即使是多執行緒或者是發生在多臺機器上。1 分鐘之內就能安裝,維護費用不足2%-部署 Taikipi

   英文原文:The 7 Log Management Tools You Need To Know   翻譯: ImportNew - 賴信濤

相關文章