Heka 数据收集和整理工具 - 文章教程

Heka 数据收集和整理工具

发布于 2020-11-27 字数 1598 浏览 1282 评论 0

heka 是 Mozilla 公司仿造 logstash 设计,用 Golang 重写的一个开源项目。同样采用了input -> decoder -> filter -> encoder -> output 的流程概念。其特点在于,在中间的 decoder/filter/encoder 部分,设计了 sandbox 概念,可以采用内嵌 lua 脚本做这一部分的工作,降低了全程使用静态 Golang 编写的难度。此外,其 filter 阶段还提供了一些监控和统计报警功能。

heka 目前仿造的还是旧版本的 logstash schema 设计,所有切分字段都存储在 @fields 下。 经测试,其处理性能跟开启了多线程 filters 的 logstash 进程类似,都在每秒 30000 条。

heka 插件

inputs

来源: 文件、socket、消息队列(MQ、KAFKA)

处理: 必须用go。

splitters

被inputs使用,切分为单独的记录

处理: 必须用go

decoders

来源: inputs

处理: go或者lua黑盒。将其转换为Heka Message structs

filters

来源:

处理:go或者lua黑盒。heka处理引擎,根据 Message Matcher Syntax作消息过滤和分发。捕获消息,作监控、聚合和处理。 产生新消息(eg: summary message)插入到heka pipeline。支持配置lua动态插入到lua instance,不需要重启heka。

匹配规则

encoders

来源: heka pipeline。

处理: go或者lua黑盒。和decoders相反,将Heka Message structs转换为外部输出流。被嵌入在outputs插件中使用。

outpus

来源: heka pipeline。

处理: 必须用go。利用encoders做数据处理,将序列化后的数据发送给外部。利用 Message Matcher Syntax进行过滤和分发。

hekad

定位: heka 核心 hekad,A single hekad process can be configured with any number of plugins, simultaneously performing a variety of data gathering, processing, and shipping tasks.

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

猫性小仙女

文章 1 评论 0

qq_VO6LhT

文章 0 评论 0

猿舌电影

文章 0 评论 0

7556275422

文章 0 评论 0

YYQ_139

文章 0 评论 0