Heka
- 日志收集服務(wù)
- 流式
- Mozilla出品
- Golang編寫(xiě)
- 輕量卻功能強(qiáng)大
- 靈活易用
- Go/Lua擴(kuò)展
Heka用戶(hù)
- Mozilla(FireFox)
- Disqus(最流行的評(píng)論服務(wù))
Heka架構(gòu)
- Inputs, 用于接收數(shù)據(jù),有多種輸入方式,如:
- 文件
- TCP
- 消息隊(duì)列如AMQP
- 系統(tǒng)命令輸出
- Splitters, 用于將Input收到的數(shù)據(jù)進(jìn)行拆分,比如按換行符
- Decoders, 解析Input/Split之后的數(shù)據(jù)
- Nginx/Apache Access Log
- GeoIP
- syslog
- MultiDecoder,把多個(gè)Decoder整合起來(lái)一起用
- 還有很多等等,以及很方便的Lua擴(kuò)展
- Filters, 消息處理引擎,可以進(jìn)行過(guò)濾、計(jì)算、聚合
- Encoders, 在輸出到Output前將數(shù)據(jù)處理成Output支持的數(shù)據(jù)格式
- 有許多常用插件,以及很方便的Lua擴(kuò)展
- Outputs, 可以同時(shí)多個(gè)輸出落地,如:
- ElasticSeasrch
- TCP
- AMQP
- HTTP
- 還有很多等等,以及很方便的Lua擴(kuò)展
日志收集架構(gòu)
1.至簡(jiǎn)
heka logstreamer Input-> Output到最終落地
2.性能擴(kuò)展
heka logstreamer Input-> TCP Output -> 匯總層heka TCP Input -> Output到最終落地
3.性能擴(kuò)展(使用隊(duì)列)
heka logstreamer Input-> AMQP(Kafka) Output -> 匯總層heka AMQP(Kafka) Input -> Output到最終落地
性能測(cè)試
環(huán)境:4 CPU虛擬機(jī),CentOS 6.5
syslog協(xié)議+文件輸出,可達(dá)到34K/s