Heka - 來自 Mozilla 的插件式數據挖掘工具

jopen 11年前發布 | 13K 次閱讀 Heka

近日Mozilla Service團隊首次發布了 Heka測試版(v0.2b1),Heka是一款擁有數據收集、分析、監視和報表的工具,采用 Go 語言開發。其主要組件為 hekad,一個適用于任何主機的輕量級守護程序,其主任務是:

  • 通過讀取和解析日志文件收集數據,監視服務器狀況,和(或)使用任何協議(syslog、statsd、http、heka等)接收客戶端網絡連接。
  • 將采集到的數據轉換成標準的內部表示,把元數據封裝成Heka系統其它組件可以有效處理的形式。
  • 使用一組路由規則評估消息內容和原數據,并為每一個消息分配相應的處理過濾器和外部端點。
  • 飛速地處理消息內容,用以執行聚合、滑窗(sliding-window)事件處理和監控、非結構化數據到結構化數據的形成(舉個例子:將日志輸入文檔解析到數字統計數據或者更加友好的數據結構)并將新的消息以報表的形式輸出。
  • 將接收到或者是內部生成的消息數據發送到外部位置:數據可能被寫入一個數據庫、一個時間序列數據庫或者一個網絡服務,包括上行的一個hekad實例做更深的處理和(或)聚合。

Heka使用Go語言編寫,在α測試中已被證明其非常適合構建數據管道,并讓數據管道同時占有快速和靈活兩方面的優勢;在α測中,一個單hekad實例可以支撐(接收和路由)起每秒10GB的消息數據。Mozilla Service團隊借鑒并延伸了 Logstash的想法,將Heka打造成基于插件的系統。開發者可以通過構建定制的Input、Decoder、Filter(比如數據處理)以及Output插件,進行快速和簡潔的功能擴展。

所有4個類型的插件都可以用Go來實現,但是管理這些插件需要修改配置文件并重啟系統,比如:添加新的插件,甚至是重新編譯hekad binary。Heka還通過允許“Sandboxed Filters”提供了另一種選擇,這樣你就可以使用Lua來代替Go。這樣一來,在一個運行中的Heka實例添加或者刪除功能就不需要修改配置及重啟服 務器。Heka同樣還提供了一些Lua API,Sandbox Filters可以使用這些API管理時間序列的環形緩沖區,并生成曲線圖報告,這些報告將呈現在Heka的儀表盤上:

Heka - 來自 Mozilla 的插件式數據挖掘工具
(點擊查看大圖)

開源相關

Heka是項新的技術,雖然已在Mozilla內部廣泛使用,但仍稍顯粗糙。就像Mozilla每個產品一樣,Heka同樣開源。了解更多詳情可閱讀相關資源:

via mozilla

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!