日志管理工具有Splunk、Sumo Logic、LogStash、GrayLog、Loggly和PaperTrails等等,數(shù)不勝數(shù)。日志就像石油,二十多年了我們一直想擺脫它,卻一直沒(méi)有做到。
為了處理日益增長(zhǎng)的數(shù)據(jù),近年來(lái)出現(xiàn)了一大批分析和管理日志的工具,開(kāi)發(fā)和管理人員能夠借助這些工具來(lái)了解增長(zhǎng)的數(shù)據(jù)。在這篇文章中,我將站在開(kāi)發(fā)者的角度,分析一下這些工具的特點(diǎn)。
Splunk
作為這個(gè)領(lǐng)域中最大的工具,我決定將 Splunk 做一個(gè)單獨(dú)的分類。并不是說(shuō)這個(gè)工具是最好的,而是對(duì)這個(gè)產(chǎn)品給予肯定,因?yàn)樗鼜谋举|(zhì)上創(chuàng)造了一個(gè)新的領(lǐng)域。
優(yōu)點(diǎn)
在這個(gè)領(lǐng)域內(nèi)功能最齊全的可能就是 Splunk 了。它有數(shù)百個(gè)來(lái)分析各種形式日志信息的程序(我計(jì)算的是537個(gè))——從安全領(lǐng)導(dǎo)到商業(yè)分析,再到底層監(jiān)控。Splunk 的搜索和圖表工具如此豐富,沒(méi)有通過(guò)它(UI和API)得不到的數(shù)據(jù)。
缺點(diǎn)
Splunk 主要有兩個(gè)缺點(diǎn)。第一,這個(gè)因素可能有些主觀,我覺(jué)得這個(gè)解決方案太復(fù)雜了。如果要在一個(gè)高度復(fù)雜的環(huán)境中部署,就需要安裝和配置一個(gè)專用集群。作為一個(gè)開(kāi)發(fā)者,通常會(huì)因?yàn)檫@點(diǎn)而不把這個(gè)方案作為第一選擇。
第二個(gè)缺點(diǎn)是它太昂貴了。要支持一個(gè)真實(shí)世界的軟件,你可能會(huì)花費(fèi)一萬(wàn)多美金,這很可能就意味著你需要從其他地方削減預(yù)算,這樣開(kāi)發(fā)進(jìn)程就慢了。如果你剛上架了一款 App,但是要得到高質(zhì)量的日志分析卻又不影響開(kāi)發(fā)進(jìn)程——請(qǐng)繼續(xù)閱讀。
更多企業(yè)級(jí)日志分析工具請(qǐng)點(diǎn)擊這里。
SaaS日志分析工具
Sumo Logic
Sumo 是在 Splunk 的基礎(chǔ)上建立的 SaaS 版本,它沿用了 Splunk 早期的一些特性和視覺(jué)效果。不得不說(shuō),SL 今天已經(jīng)發(fā)展成了一個(gè)成熟的企業(yè)級(jí)日志管理工具。
優(yōu)點(diǎn)
SL 具備對(duì)數(shù)據(jù)簡(jiǎn)化、查找、制表等功能。可能是 SaaS 型的日志分析工具中功能最多的了。同樣,作為 SaaS 型,SL 還具有安裝簡(jiǎn)單,操作簡(jiǎn)單等優(yōu)點(diǎn)。最吸引人的地方是,你可以建立一個(gè)基線,當(dāng)一個(gè)事件(像是一個(gè)新版本首次上線或者惡意的請(qǐng)求等)使一些重要的指標(biāo)發(fā)生了變化時(shí),你可以收到動(dòng)態(tài)通知。
缺點(diǎn)
由于這是通過(guò) SaaS 的方式進(jìn)行日志分析的,所以你必須將大量的數(shù)據(jù)上傳至服務(wù)器進(jìn)行分析,這就可能產(chǎn)生一些問(wèn)題:
1.作為一個(gè)開(kāi)發(fā)者,如果要分析的日志涉及到敏感信息或者 PII 你要確保做好了屏蔽。
2.在日志生成的時(shí)間與日志上傳至服務(wù)的時(shí)間之間可能存在一些沖突。
3.在你的機(jī)器上回多出來(lái)幾個(gè) GB 的開(kāi)銷用于上傳日志,不過(guò)這取決于你日志的吞吐量。
Sumo 服務(wù)的購(gòu)買價(jià)格不是透明的,所以你要是想刷你團(tuán)隊(duì)的信用卡來(lái)購(gòu)買的話會(huì)很麻煩。
更新——SL 團(tuán)隊(duì)剛剛告訴我們,你可以直接用信用卡從免費(fèi)版本中購(gòu)買服務(wù),雖然不像網(wǎng)頁(yè)版那樣方便,但是也蠻不錯(cuò)的。
Loggly
Loggly 也是一個(gè)健壯的日志分析工具,強(qiáng)調(diào)簡(jiǎn)潔樸素讓開(kāi)發(fā)者用起來(lái)方便。

優(yōu)點(diǎn)
SL 注重的是企業(yè)級(jí)別的應(yīng)用和安全性,而 Loggly 卻將重點(diǎn)放在了幫助開(kāi)發(fā)者查找和修復(fù)操作性的問(wèn)題上。因?yàn)椴僮鹘缑娣浅S押茫远x性能和開(kāi)發(fā)者儀表盤這種東西非常簡(jiǎn)單。并且它的價(jià)格透明,入門方便。
缺點(diǎn)
不要奢望 Loggly 具備成熟的架構(gòu)、安全和分析解決方案。Loggly 不具備取證和監(jiān)控基礎(chǔ)架構(gòu),它僅僅是幫助開(kāi)發(fā)者處理應(yīng)用服務(wù)器數(shù)據(jù)的一個(gè)工具。除此之外的其他事情就需要你自己去做了。
PaperTrails
PaperTrails 擅長(zhǎng)從多臺(tái)機(jī)器上查找日志,并提供一個(gè)合并的窗口,使用起來(lái)很方便。鑒于你是從云端追蹤日志,所以你離他們不會(huì)太遠(yuǎn)。

優(yōu)點(diǎn)
PT 就是這么一個(gè)工具。通過(guò)它你可以從一個(gè)窗口輕松的查找多臺(tái)機(jī)器上的日志。用戶操作本身就像你機(jī)器上的日志,搜索命令也一樣。它致力于將日志管理變得簡(jiǎn)單、易用,可以優(yōu)雅地處理。而且它還不算很貴。
缺點(diǎn)
PT 是基于文本格式的。如果需要支持先進(jìn)的集成、預(yù)測(cè)和報(bào)告功能,就顯得力不從心了。
Splunk>Storm
這是 Splunk 的兄弟, Splunk 的服務(wù)器上提供托管。
優(yōu)點(diǎn)
Storm 讓你無(wú)需安裝軟件,就能體驗(yàn) Splunk 的完整版的功能。
缺點(diǎn)
Storm 不是商業(yè)的,所以你的流量有限。你可以將其視作一個(gè) Splunk 的限制版本,無(wú)需部署即可幫助新產(chǎn)品測(cè)試。最近有個(gè)叫 Splunk Cloud 的新服務(wù),致力于提供 Splunk SaaS 的完整體驗(yàn)。
開(kāi)源的分析軟件
Logstash
Logstash 是一款收集和管理日志的開(kāi)源工具。它用到了一些其他的開(kāi)源的資源:使用 ElasticSearch 來(lái)索引和查找數(shù)據(jù),使用 Kibana 制表和可視化處理。他們聯(lián)合起來(lái),組成一個(gè)強(qiáng)大的日志管理解決方案。

優(yōu)點(diǎn)
作為一個(gè)開(kāi)源的解決方案,Logstash 允許用戶有更大的定制空間,而且很便宜。Logstash 用了三個(gè)成熟的開(kāi)源部件——都受到了很好的維護(hù)——組成一個(gè)強(qiáng)大的可擴(kuò)展的軟件包。由于開(kāi)源,安裝和使用和非常方便。
缺點(diǎn)
由于 Logstash 從本質(zhì)上來(lái)說(shuō)是三個(gè)部件的堆砌,所以你需要面對(duì)三個(gè)不同的產(chǎn)品。這就意味著擴(kuò)展也變得很復(fù)雜。Logstash 的過(guò)濾器是用 Ruby 寫的,Kibana 是用純 JAVAscript 寫的,而 ElasticSearch 也有自己的 REST 接口和 JSON 模板。
當(dāng)你轉(zhuǎn)向產(chǎn)品時(shí),還需要將三個(gè)不同的工具部署到服務(wù)器上,無(wú)疑增加了復(fù)雜度。
Graylog2
最近出現(xiàn)的一顆新星——GL2,用 MongoDB 和 ElasticSearch 支持的用來(lái)存儲(chǔ)與搜索日志錯(cuò)誤的工具。它致力于幫助開(kāi)發(fā)者找到并修復(fù)程序中的錯(cuò)誤。
在這一方面,還有 fluentd 和 Kafka 也是專注于存儲(chǔ)日志的。看!我們有這么多選擇啊!
Takipi for Logs

雖然這篇文章不是關(guān)于 Takipi 的,但是它有一項(xiàng)特性,你也許會(huì)發(fā)現(xiàn)和日志有關(guān)。
對(duì)于日志分析工具來(lái)說(shuō),最大的缺點(diǎn)就是你必須要有日志可以分析。從集成開(kāi)發(fā)環(huán)境的角度看,如果沒(méi)有異常報(bào)告,或者沒(méi)有錯(cuò)誤信息的數(shù)據(jù),你就沒(méi)辦法知道哪里出問(wèn)題了,這樣世界上任何工具都幫不了你了!Debug 就卡在這里了。:(
在 Takipi 的一項(xiàng)優(yōu)勢(shì)就是可以跳過(guò)日志文件,進(jìn)入到調(diào)試信息中。這樣你就能看到真實(shí)的源代碼和錯(cuò)誤范圍的變量了。了解更多點(diǎn)擊這里。
Takipi 會(huì)報(bào)告所有的異常和錯(cuò)誤,并且告訴你哪里出錯(cuò)了,即使是多線程或者是發(fā)生在多臺(tái)機(jī)器上。1分鐘之內(nèi)就能安裝,維護(hù)費(fèi)用不足2%-部署Taikipi。