Logstash、Fluentd、Fluent Bit、Vector?如何选择合适的开源日志收集器

您所在的位置:网站首页 fluentd和logstash的区别 Logstash、Fluentd、Fluent Bit、Vector?如何选择合适的开源日志收集器

Logstash、Fluentd、Fluent Bit、Vector?如何选择合适的开源日志收集器

#Logstash、Fluentd、Fluent Bit、Vector?如何选择合适的开源日志收集器| 来源: 网络整理| 查看: 265

本文我们将讨论最流行的日志收集器,包括 Logstash、Fluentd、Fluent Bit 和 Vector。

Logstash、Fluentd、Fluent Bit、Vector?如何选择合适的开源日志收集器_java

无论您已经在使用开源日志收集器,还是准备为您的环境选择一个或多个,了解日志收集器的关键要求对于您的日常操作至关重要。这些要求包括高数据吞吐量、可靠性、可扩展性、灵活性、安全性和资源消耗(CPU、内存)。在这篇博客中,我们将讨论最流行的日志收集器,包括 Logstash、Fluentd、Fluent Bit 和 Vector。

评估日志收集器时要考虑的关键要求

在深入研究特定的开源日志收集器实现之前,这里是评估日志收集器时需要考虑的重要要求。

高数据吞吐量

为了成功调试问题,工程团队需要每秒大量的日志和低延迟的日志处理。为避免业务中断或故障,工程师需要快速获取关键日志数据,这就是具有高数据吞吐量的日志收集器的首选。

可靠性

日志收集器应确保处理数据的高度完整性。即使在数据吞吐量增加的情况下,也应保持数据的完整性。日志收集器丢失数据的频率和数量在任何情况下都应该是有限的,并且最好避免。

可扩展性

有几种策略可以使日志收集器处理大量数据。过滤不属于高优先级的日志、解析或压缩复杂日志只是其中的一小部分。此外,重要的是要考虑到此类数据处理可能会导致 CPU 和内存资源利用率增加,这是为扩展能力付出的代价。此外,当数据速率增加时,会出现更高的资源消耗和可能的背压,这也会影响日志收集器的扩展能力。

处理多种数据格式

来自云应用程序和基础架构的各种元素的日志有许多不同的格式。容器和微服务是用不同的编程语言或框架开发的,具有不同的日志格式方法。避免使用多个日志收集器来处理多种格式的需要降低了整体复杂性。

支持各种数据源和目的地

日志收集器从各种云环境中获取数据。日志数据源还可能包括消息队列和流媒体平台,例如 Kafka、Redis 和 RabbitMQ。日志收集器将数据发送到不同的目的地,例如日志管理工具和存储档案。日志收集器处理各种来源和目的地的能力增加了它们的灵活性和可用性。

安全

在评估任何日志收集器时,应考虑处理敏感信息的能力,例如匿名或排除机密字段以及以安全方式将日志发送到存储后端。

现在,让我们讨论特定的开源收集器及其主要特征。

Logstash

​​Logstash​​是最受欢迎的日志收集器之一,它是 ELK(Elasticsearch、Logstash、Kibana)堆栈的一部分。

Logstash 的主要优势:

● 处理结构化和非结构化数据。

● 通过匿名或排除敏感字段的能力支持增强的数据安全性。

● 支持数百个插件,包括输入、过滤和输出插件。过滤器插件执行日志处理,例如聚合和解析。

尽管 Logstash 是一个可靠的日志收集器,有许多用于处理日志数据的选项,但如果内存占用量很小是关键要求,那么本文中描述的其他日志收集器可能会更好。因为 Logstash 是用 Java 编写的,所以需要 JVM 支持。如果您打算从嵌入式设备和 IoT 应用程序中收集日志,这不是最佳选择。

Fluentd

​​Fluentd​​是一个日志收集器,内存占用很小,可以处理各种日志源和目标。许多受支持的插件允许连接到多种类型的源和目标。与其他日志收集器一样,Fluentd 的典型来源包括应用程序、基础设施和消息队列平台,而通常的目的地是日志管理工具和存储档案。

Fluentd 的主要优势:

支持许多日志源和目标灵活且可扩展的解析选项,支持多种输入格式拥有一个庞大的生态系统,包括数百个插件以及用 Ruby 编写自己的插件的能力支持 Apache 许可证,版本 2.0供应商中立性(CNCF 项目)

如果您正在寻找供应商中立性,Fluentd 是一个不错的选择。它在 Kubernetes 和容器化环境中也很受欢迎。

Fluent Bit

​​Fluent Bit​​在 Kubernetes 集群等容器化环境中运行良好。此外,Fluent Bit 可以扩展并且仍然可以节省资源,因为它占用的空间很小。Fluent Bit 不仅在 Kubernetes 环境中经常使用,而且可以部署在裸机服务器、虚拟机和嵌入式设备上。

Fluent Bit 的主要优势:

具有最小内存占用的轻量级设计(通常小于 1MB)易于扩展的架构具有许多输入、过滤器和输出插件的可插拔架构支持基于指标和基于日志的有效负载支持通过安全连接将日志发送到存储后端支持使用 SQL 进行流处理支持 Apache 许可证,版本 2.0供应商中立性(CNCF 项目)

Fluent Bit 从各种来源收集日志和指标,并将它们发送到不同的目的地,就像其他日志收集器一样。Fluent Bit 真正闪耀的地方在于嵌入式、边缘和其他资源受限的环境,在这些环境中,精益运行时与广泛的输入/输出选项配对至关重要。Fluent Bit 不仅是一个日志收集器,还可以用作流处理器以及将日志数据转发到 Fluentd 的传送器。

Vector

​​Vector​​被设计成一个高性能的日志收集器。与本文中讨论的其他日志收集器相比,它是一个相对较新的产品。

Vector关键优势:

高效的内存/CPU 消耗和高数据吞吐量具有正确性和交付保证的良好可靠性包括用于以安全和高性能的方式动态转换数据的自定义 DSL支持基于指标和基于日志的有效负载大量的输入和输出集成可以部署为代理或聚合器

由于其广泛的部署选项、对指标和日志的支持以及可用的数字集成,Vector 是一个出色、灵活的选择。此外,由于 Vector 是用 Rust 编写的,它提供了内存安全和效率保证,使其在其他现有产品中独树一帜。无论您是在新环境还是旧环境中工作,都值得仔细看看。

Vector 引入了一个单元测试框架,可以更轻松地维护复杂的日志收集器拓扑。此外,Vector 的软件组件尝试为传递到目的地的日志和事件提供传递保证。Vector 的用户也可以获得 Vector 组件的一般代码稳定性的保证。

概括

很难找到一个完美的日志收集器。选择正确的日志收集器取决于您的特定需求和要求。例如,如果您正在为需要少量资源消耗的 IoT 应用程序寻找日志收集器,那么最好使用 Vector 或 Fluent Bit 而不是 Logstash。如果您正在寻找供应商中立性,那么 CNCF 支持的项目(例如 Fluentd 和 Fluent Bit)是不错的选择。

仔细检查性能、资源消耗、支持各种输入和输出格式的灵活性、可扩展性、可靠性、供应商锁定和安全要求,可以帮助您找到适合您的日志收集器。

翻译自

​​https://era.co/blog/choose-open-source-log-collector​​

关注

微信公众号【进击云原生】,扫左侧码关注,了解更多咨询,更有免费资源供您学习



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3