插件式數(shù)據(jù)挖掘工具 Heka測試版發(fā)布
近日Mozilla Service團隊首次發(fā)布了 Heka測試版(v0.2b1),Heka是一款擁有數(shù)據(jù)收集、分析、監(jiān)視和報表的工具,采用 Go 語言開發(fā)。其主要組件為 hekad,一個適用于任何主機的輕量級守護程序,其主任務(wù)是:
- 通過讀取和解析日志文件收集數(shù)據(jù),監(jiān)視服務(wù)器狀況,和(或)使用任何協(xié)議(syslog、statsd、http、heka等)接收客戶端網(wǎng)絡(luò)連接。
- 將采集到的數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)的內(nèi)部表示,把元數(shù)據(jù)封裝成Heka系統(tǒng)其它組件可以有效處理的形式。
- 使用一組路由規(guī)則評估消息內(nèi)容和原數(shù)據(jù),并為每一個消息分配相應(yīng)的處理過濾器和外部端點。
- 飛速地處理消息內(nèi)容,用以執(zhí)行聚合、滑窗(sliding-window)事件處理和監(jiān)控、非結(jié)構(gòu)化數(shù)據(jù)到結(jié)構(gòu)化數(shù)據(jù)的形成(舉個例子:將日志輸入文檔解析到數(shù)字統(tǒng)計數(shù)據(jù)或者更加友好的數(shù)據(jù)結(jié)構(gòu))并將新的消息以報表的形式輸出。
- 將接收到或者是內(nèi)部生成的消息數(shù)據(jù)發(fā)送到外部位置:數(shù)據(jù)可能被寫入一個數(shù)據(jù)庫、一個時間序列數(shù)據(jù)庫或者一個網(wǎng)絡(luò)服務(wù),包括上行的一個hekad實例做更深的處理和(或)聚合。
Heka使用Go語言編寫,在α測試中已被證明其非常適合構(gòu)建數(shù)據(jù)管道,并讓數(shù)據(jù)管道同時占有快速和靈活兩方面的優(yōu)勢;在α測中,一個單hekad實例可以支撐(接收和路由)起每秒10GB的消息數(shù)據(jù)。Mozilla Service團隊借鑒并延伸了 Logstash的想法,將Heka打造成基于插件的系統(tǒng)。開發(fā)者可以通過構(gòu)建定制的Input、Decoder、Filter(比如數(shù)據(jù)處理)以及Output插件,進行快速和簡潔的功能擴展。
所有4個類型的插件都可以用Go來實現(xiàn),但是管理這些插件需要修改配置文件并重啟系統(tǒng),比如:添加新的插件,甚至是重新編譯hekad binary。Heka還通過允許“Sandboxed Filters”提供了另一種選擇,這樣你就可以使用Lua來代替Go。這樣一來,在一個運行中的Heka實例添加或者刪除功能就不需要修改配置及重啟服務(wù)器。Heka同樣還提供了一些Lua API,Sandbox Filters可以使用這些API管理時間序列的環(huán)形緩沖區(qū),并生成曲線圖報告,這些報告將呈現(xiàn)在Heka的儀表盤上:
開源相關(guān)
Heka是項新的技術(shù),雖然已在Mozilla內(nèi)部廣泛使用,但仍稍顯粗糙。就像Mozilla每個產(chǎn)品一樣,Heka同樣開源。了解更多詳情可閱讀相關(guān)資源:
- Heka v0.2 binaries
- Intro to HekaHTML presentation slides
- Heka project documentation
- hekad daemon documentation
- Heka github project
- Heka-build github project
- Services devmailing list (for developer support)
- IRC: #heka channel on irc.mozilla.org
- Heka python client
- Heka node.js client
via mozilla
文章轉(zhuǎn)載自:開源中國社區(qū) [http://www.oschina.net]