Heka 数据收集和整理工具

发布于 2020-11-27 10:09:59 字数 1228 浏览 1790 评论 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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

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

文章
评论
84963 人气
更多

推荐作者

夢野间

文章 0 评论 0

doggiejohn

文章 0 评论 0

就此别过

文章 0 评论 0

初见终念

文章 0 评论 0

qq_rvKjBH

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文