开源日志收集 肿么选型??

简介: 开源日志收集 肿么选型??

开源日志收集 肿么选型??


企业无论是已经使用了开源日志收集工具,还是准备选择一款或多款工具,都有必要了解日志收集工具的关键要求。这些要求包括:高数据吞吐量、可靠性、可扩展性、灵活性、安全性以及资源(CPU 和内存)消耗等。本文讨论了市面上流行的几款日志收集工具(包括 Logstash、Fluentd、Fluent Bit 和 Vector)及其主要特点。

1. Logstash

Logstash 是最受欢迎的日志收集工具之一,它是 ELK(Elasticsearch/Logstash/Kibana)架构的一部分。

Logstash 的主要优势:

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

● 支持更高的数据安全性,能够匿名化或排除敏感字段。

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

虽然 Logstash 是一款可靠的日志收集工具,在处理日志数据方面有诸多选项,但如果内存占用量小是个关键要求,本文介绍的其他日志收集工具可能更胜一筹。因为 Logstash 是用 Java 编写的,所以需要 JVM 支持。如果企业打算从嵌入式设备和物联网应用程序收集日志,它不是最佳选择。

2. Fluentd

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

Fluentd 的主要优势:

● 支持许多日志源和目的地。

● 灵活、可扩展的解析选项,支持多种输入格式。

● 拥有庞大的生态系统,包括成百上千个插件,以及用 Ruby 自行编写插件的功能。

● 支持 Apache 许可证,版本 2.0。

● 供应商中立(CNCF 项目)。

如果企业需要中立的供应商,Fluentd 是不错的选择。它还经常与 Kubernetes 和容器化环境一起使用。

3. Fluent Bit

Fluent Bit 不仅是一款日志收集工具,还可以用作数据流处理工具,并充当将日志数据转发到 Fluentd 的运送工具。Fluent Bit 在 Kubernetes 集群等容器化环境中运行顺畅。Fluent Bit 可以扩展并仍能节省资源,因为它占用的空间很小。虽然 Fluent Bit 经常用在 Kubernetes 环境中,但它也可以部署在裸机服务器、虚拟机和嵌入式设备上。

Fluent Bit 的主要优势:

● 轻量级设计,内存占用量极小(通常不到 1MB)。

● 易于扩展的架构。

● 可插入式架构,有许多输入、过滤器和输出插件。

● 支持基于指标和基于日志的有效负载。

● 支持通过安全的连接将日志发送到存储后端。

● 使用 SQL,支持数据流处理。

● 支持 Apache 许可证,版本 2.0。

● 供应商中立(CNCF 项目)。

Fluent Bit 从众多日志源收集日志和指标,并将它们发送到不同的目的地。Fluent Bit 真正大放异彩的地方在于嵌入式、边缘及其他资源受限的环境,因为精简的运行时环境结合众多的输入/输出选项至关重要。

4. Vector

Vector 是一款高性能的日志收集工具。与本文中的其他日志收集工具相比,这款产品比较新。

Vector 的主要优势:

● 高效的内存/CPU 消耗和高数据吞吐量。

● 良好的可靠性,正确性和交付方面有保证。

● 包括自定义 DSL,以一种安全、高性能的方式动态转换数据。

● 支持基于指标和日志的有效负载。

● 大量的输入和输出集成。

● 可以部署为代理或聚合器。

由于广泛的部署选项、同时支持指标和日志以及可用集成的数量,使 Vector 成为一种出色而灵活的选择。由于 Vector 用 Rust 编写,提供了内存安全和效率保证,使其在其他现有工具中独树一帜。Vector 引入了单元测试框架,可以更轻松地维护复杂的日志收集工具拓扑。

此外,Vector 的软件组件竭力为传送到目的地的日志和事件提供交付保证。Vector 的用户还可以获得 Vector 组件的代码总体稳定性方面的保证。无论在新环境中还是在旧环境中工作,它都值得认真考虑。

结 语

很难判定哪一款工具主导市场,企业选择合适的日志收集工具取决于其特定需求和要求。比如说,如果企业在为需要资源消耗少的物联网应用程序寻找日志收集工具,那么最好使用 Vector 或 Fluent Bit,而不是 Logstash。如果企业看重供应商的中立性,CNCF 支持的项目(比如 Fluentd 和 Fluent Bit)倒是不错的选择。仔细检查性能、资源消耗、支持众多输入和输出格式的灵活性、可扩展性、可靠性、供应商锁定和安全要求,可以帮助企业找到适合的日志收集工具。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
存储
优秀开源日志平台GrayLog5.0一键安装脚本
优秀开源日志平台GrayLog5.0一键安装脚本
89 0
|
2月前
|
Prometheus Cloud Native 数据库
Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介
Grafana 系列文章(九):开源云原生日志解决方案 Loki 简介
|
4月前
|
监控 安全 NoSQL
5 个适用于 Linux 的开源日志监控和管理工具
5 个适用于 Linux 的开源日志监控和管理工具
265 0
|
9月前
|
消息中间件 弹性计算 数据可视化
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
SpringBoot 整合 Elastic Stack 最新版本(7.14.1)分布式日志解决方案,开源微服务全栈项目【有来商城】的日志落地实践
|
3月前
|
机器学习/深度学习 自然语言处理 数据可视化
基于CIFAR数据集 进行 MAE实现及预训练可视化 (CIFAR for MAE,代码权重日志全部开源,自取)
基于CIFAR数据集 进行 MAE实现及预训练可视化 (CIFAR for MAE,代码权重日志全部开源,自取)
|
18天前
|
API 开发工具 C语言
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
【嵌入式开源库】EasyLogger的使用, 一款轻量级且高性能的日志库
|
6月前
|
Go 微服务
Go语言微服务框架 - 3.日志库的选型与引入
衡量日志库有多个指标,我们今天重点关注两点:简单易用 与 高性能。简单易用是一个日志库能被广泛使用的必要条件,而高性能则是企业级的日志库非常重要的衡量点,也能在源码层面对我们有一定的启发。
125 1
|
7月前
|
SQL 关系型数据库 MySQL
开源数据库Mysql_DBA运维实战 (DCL/日志)
开源数据库Mysql_DBA运维实战 (DCL/日志)
|
3月前
|
Linux Shell
开源日志平台GrayLog5.1.10 CentOS7一键安装脚本
开源日志平台GrayLog5.1.10 CentOS7一键安装脚本
96 0
|
3月前
|
Linux
开源日志平台GrayLog5.1.7 CentOS7一键安装脚本
开源日志平台GrayLog5.1.7 CentOS7一键安装脚本
81 1