说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具

HTML文档下载 WORD文档下载 PDF文档下载
一直崇尚开源的Mozilla近日释放了Heka测试版——插件架构,Go编写。在支持使用Go扩展功能的同时,还通过允许“Sandboxed Filters”提供了另一种选择——Lua,同时这种选择下还省去了配置文件的编辑和系统的重启。

近日Mozilla Service团队首次发布了 Heka测试版(v0.2b1),Heka是一款拥有数据收集、分析、监视和报表的工具。其主要组件为 hekad,一个适用于任何主机的轻量级守护程序,其主任务是:

  • 通过读取和解析日志文件收集数据,监视服务器状况,和(或)使用任何协议(syslog、statsd、http、heka等)接收客户端网络连接。
  • 将采集到的数据转换成标准的内部表示,把元数据封装成Heka系统其它组件可以有效处理的形式。
  • 使用一组路由规则评估消息内容和原数据,并为每一个消息分配相应的处理过滤器和外部端点。
  • 飞速地处理消息内容,用以执行聚合、滑窗(sliding-window)事件处理和监控、非结构化数据到结构化数据的形成(举个例子:将日志输入文档解析到数字统计数据或者更加友好的数据结构)并将新的消息以报表的形式输出。
  • 将接收到或者是内部生成的消息数据发送到外部位置:数据可能被写入一个数据库、一个时间序列数据库或者一个网络服务,包括上行的一个hekad实例做更深的处理和(或)聚合。

Heka使用Go语言编写,在α测试中已被证明其非常适合构建数据管道,并让数据管道同时占有快速和灵活两方面的优势;在α测中,一个单hekad实例可以支撑(接收和路由)起每秒10GB的消息数据。Mozilla Service团队借鉴并延伸了 Logstash的想法,将Heka打造成基于插件的系统。开发者可以通过构建定制的Input、Decoder、Filter(比如数据处理)以及Output插件,进行快速和简洁的功能扩展。

所有4个类型的插件都可以用Go来实现,但是管理这些插件需要修改配置文件并重启系统,比如:添加新的插件,甚至是重新编译hekad binary。Heka还通过允许“Sandboxed Filters”提供了另一种选择,这样你就可以使用Lua来代替Go。这样一来,在一个运行中的Heka实例添加或者删除功能就不需要修改配置及重启服务器。Heka同样还提供了一些Lua API,Sandbox Filters可以使用这些API管理时间序列的环形缓冲区,并生成曲线图报告,这些报告将呈现在Heka的仪表盘上:


(点击查看大图)

开源相关

Heka是项新的技术,虽然已在Mozilla内部广泛使用,但仍稍显粗糙。就像Mozilla每个产品一样,Heka同样开源。了解更多详情可阅读相关资源:

  • Heka v0.2 binaries
  • Intro to HekaHTML presentation slides
  • Heka project documentation
  • hekad daemon documentation
  • Heka github project
  • Heka-build github project
  • Services devmailing list (for developer support)
  • IRC: #heka channel on irc.mozilla.org
  • Heka python client
  • Heka node.js client

原文链接: Introducing Heka (编译/仲浩 审校/王旭东)

“ 第五届中国云计算大会 ”将于2013年6月5-7日在北京国家会议中心隆重举行。猛击报名!

相关活动已经火热启动:

2013中国云计算大调查,每周大奖等你拿! “

Innovation Cloud 2013云创新产品与应用项目征集,欢迎研发者、团队和创业企业参加!

备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘