Heka配置講解
基於Heka,ElasticSearch和Kibana的分布式後端日誌架構
目前主流的後端日誌都采用的標準的elk模式(Elasticsearch,Logstash,Kinaba),分別負責日誌存儲,收集和日誌可視化。
不過介於我們的日誌文件多樣,分布在各個不同的服務器,各種不同的日誌,為了日後方便二次開發定制。所以采用了Mozilla仿照Logstash使用golang開源實現的Heka。
整體架構圖
采用Heka,ElasticSearch和Kibana後的整體架構如下圖所示
Heka篇
簡介
Heka對日誌的處理流程為輸入 分割 解碼 過濾 編碼 輸出。單個Heka服務內部的數據流了通過Heka定義的Message數據模型在各個模塊內進行流轉。
heka內置了常用的大多數模塊插件,比如
輸入插件有Logstreamer Input可以將日誌文件作為輸入源,
解碼插件Nginx Access Log Decoder可以將nginx訪問日誌解碼為標準的鍵值對數據交給後邊的模塊插件進行處理。
得益於輸入輸出的靈活配置,可以將分散各地的Heka收集到的日誌數據加工後統一輸出到日誌中心的Heka進行統一編碼後交給ElasticSearch存儲。
安裝
源碼安裝的方式較為繁瑣這裏就不再介紹,有需要可以參考官網文檔。http://hekad.readthedocs.io/en/v0.10.0/installing.html
這裏我們的linux發行版用的centos所以使用rpm包的安裝方式。
下載rpm安裝包
1 | wget https://github.com/mozilla-services/heka/releases/download/v0.10.0/heka-0_10_0-linux-amd64.rpm |
使用rpm -i heka-0_10_0-linux-amd64.rpm
進行安裝。
安裝後執行 hekad -version
輸出版本號即安裝成功。
使用說明 點擊這裏 wuguiyunwei.com
Heka配置講解