這個linux教程將為您說明heka配置講解,具體操作過程:
基于Heka,ElasticSearch和Kibana的分布式后端日志架構
目前主流的后端日志都采用的標準的elk模式(Elasticsearch,Logstash,Kinaba),分別負責日志存儲,收集和日志可視化。
不過介于我們的日志文件多樣,分布在各個不同的服務器,各種不同的日志,為了日后方便二次開發定制。所以采用了Mozilla仿照Logstash使用golang開源實現的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存儲。