• 常用日志采集框架对比


    一、Logstash

      Logstash诞生于2009年8月,2013年被ElasticSearch公司收购。Logstash是一个分布式日志收集框架,开发语言是JRuby,经常与ElasticSearch,Kibana配合使用组成著名的ELK技术栈,所谓ELK就是ElasticSearch、Logstash、Kibana这三个组件。

    二、Filebeat

      Filebeat是一款轻量级日志采集器(同一个公司推出的Logstash替代品),可用于转发和汇总日志与文件。Filebeat内置有多种模块(Nginx、MySQL、Redis、Elasticsearch、Logstash等),可针对常见格式的日志大大简化收集、解析和可视化过程,只需一条命令即可。

    三、Flume

      Flume诞生于2010年,最早由Cloudrea开发,是一个高可用,高可靠的分布式海量日志采集系统,支持定制各类数据发送方,一般和 kafka 订阅消息系统搭配较多。其设计原理也是基于将数据流,如日志数据从各种网站服务器上汇集起来存储到HDFS,HBase等集中存储系统中。Flume目前有两个版本,OG和NG,区别很大,初始的发行版本叫做FlumeOG,后被apache收购,改名为Apache Flume,收购重构后的版本统称为Flume NG(next generation下一代的意思);所以现在Flume已经是ApacheETL工具集中的一员。

      Flume与logstash相比,两者最初的设计目的就不太一样。Flume本身最初设计的目的是为了把数据传入HDFS中(并不是为了采集日志而设计,这和Logstash有根本的区别)。

    四、Fluentd

    fluentd是一款开源的日志收集工具。基于ruby和C编写,它拥有非常多的插件,可以满足的我们对各种格式的日志进行收集,过滤,解析等。把日志信息变成我们想要的格式。并且,没有找到满足我们的插件,我们可以自己写插件。

    fluentd收集日志时,将所有日志看做JSON格式的数据。并且用正则表达式去匹配日志。fluentd自带丰富的日志收集格式。以及可以将日志收集到各种存储的数据库。

    fluentd有7种类型的插件:输入、解析器、过滤器、输出、格式化程序、存储和缓冲区。

    Fluend-bit是Fluentd的精华版本,纯C编写、大小450kb,更轻量级,主要支持数据的收集和处理功能。

    对比

    类型
    Logstash
    Filebeat
    Flume
    Fluentd

    平台

    Linux&Windows Linux&Windows Linux&Windows Linux&Windows
    运行环境 java go java ruby
    资源开销 非常小
    配置 简单 简单 较复杂 复杂
    可靠性 不稳定 稳定 高可靠 可靠

    方案

    较成熟的日志系统方案:Filebeat → Logstash → ElasticSearch → Kibana

    技术微信群:
    加微信:wonter 发送:技术Q
    医疗微信群:
    加微信:wonter 发送:医疗Q
    更多文章关注公众号:

  • 相关阅读:
    SOA the new OOP?
    请教一个程序装入执行的问题!
    程序员,如何选择合适的程序语言
    题解 P2387 【[NOI2014]魔法森林】
    题解 P4197 【Peaks】
    货车运输
    线段树合并
    jvm系列五java内存模型(2)
    jvm系列一什么是jvm
    jvm系列二内存结构
  • 原文地址:https://www.cnblogs.com/Javame/p/14867949.html
Copyright © 2020-2023  润新知