• 开源日志管理方案之ELK和EFK的区别附带实验


    2022.9.9 这段时间学习了k8s基础。然后k8s日志收集是EFK。 我在学golang的时候 知道了传统的日志收集项目ELK。我其实有的时候也在思考为啥k8s要用EFK不用ELK。带着这个疑问。介绍一下这两套日志收集的区别

    ELKElasticsearch、Logstash、Kibana的简称,这三者都是开源软件,通常配合使用。

    1. Elasticsearch -->存储数据
      是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。它是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎,使用 Java 语言编写,能对大容量的数据进行接近实时的存储、搜索和分析操作。
    2. Logstash --> 收集数据
      数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置。
    3. Kibana --> 展示数据
      数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示。

     

    这里有必要对 Filebeats、Logstash 和 Fluentd 三者之间的联系和区别做一个简要的说明。Filebeats 是一个轻量级的收集本地 log 数据的方案,官方对 Filebeats 的说明如下。可以看出 Filebeats 功能比较单一,它仅仅只能收集本地的 log,但并不能对收集到的 Log 做什么处理,所以通常 Filebeats 通常需要将收集到的 log 发送到 Logstash 做进一步的处理。

    Logstash 和 Fluentd 都具有收集并处理 log 的能力,网上有很多关于二者的对比,提供一个写得比较好的文章链接如下。功能上二者旗鼓相当,但 Logstash 消耗更多的 memory,对此 Logstash 的解决方案是使用 Filebeats 从各个叶子节点上收集 log,当然 Fluentd 也有对应的 Fluent Bit。

    Fluentd 是一个开源的数据收集器,专为处理数据流设计,使用 JSON 作为数据格式。它采用了插件式的架构,具有高可扩展性高可用性,同时还实现了高可靠的信息转发。Fluentd 也是云原生基金会(CNCF)的成员项目之一,遵循 Apache 2 License 协议,其 GitHub 地址为:https://github.com/fluent/fluentd/。Fluentd 与 Logstash 相比,比占用内存更少、社区更活跃,两者的对比可以参考这篇文章《Fluentd vs Logstash[2]》。 

    另外一个重要的区别是 Fluentd 抽象性做得更好,对用户屏蔽了底层细节的繁琐 

     ELK的一个流程

     

     EFK 

     

     

     

     参考文章

    开源日志管理方案 ELK 和 EFK 的区别

  • 相关阅读:
    【网络知识必知必会】再谈Cookie和Session
    网站速度测试和优化方案
    虚拟标签做添加点击事件,e.target 方法
    【PyTorch】深度学习实践之多维度输入Multiple Dimension Input
    Netty是什么,Netty为什么速度这么快,线程模型分析
    【MAPBOX基础功能】15、mapbox地图事件:点击、移入、移出、解绑
    STM32HAL库 -- RS485 开发板通信(速记版)
    web前端大作业:诗人文化网页主题网站【唐代诗人】纯HTML+CSS制作
    Flink 状态管理
    元代理模型可迁移对抗攻击
  • 原文地址:https://blog.csdn.net/m0_56869626/article/details/126784403