zoukankan      html  css  js  c++  java
  • Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具(转)

    摘要:一直崇尚开源的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同样开源。了解更多详情可阅读相关资源:

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

  • 相关阅读:
    Java实现各种内部排序算法
    Java实现堆排序(大根堆)
    Java对象的序列化和反序列化
    Java实现链式存储的二叉查找树(递归方法)
    337. House Robber III(包含I和II)
    318. Maximum Product of Word Lengths
    114. Flatten Binary Tree to Linked List
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    96. Unique Binary Search Trees(I 和 II)
  • 原文地址:https://www.cnblogs.com/LCGIS/p/3069440.html
Copyright © 2011-2022 走看看