前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一文了解日志收集工具fluent-bit

一文了解日志收集工具fluent-bit

作者头像
用户5166556
发布2020-06-15 11:20:37
7.1K0
发布2020-06-15 11:20:37
举报

"本文主要对fluent-bit特性及使用场景介绍"

1、简介

fluent-bit是一种在Linux,OSX和BSD系列操作系统运行,兼具快速、轻量级日志处理器和转发器。它非常注重性能,通过简单的途径从不同来源收集日志事件。

2、功能

fluent-bit是一个开源的、多平台的、旨在成为像一把瑞士军刀一样进行日志收集和转发。它为我们提供一个终端到终端的解决方案,收集,存储和分析的基础架构。fluent-bit是此管道中是不可或缺的一部分,它可以解决日志收集需求。作为一个开源项目,它已被广泛采用,fluent-bit能够胜任和解决docker和Kubernetes等关键组件的云服务日志记录需求。

3、fluent-bit工作原理

fluent-bit是一个简单日志收集工具,上图就是对它工作流程的全局概述,它通过输入、转换、过滤、缓冲、路由到输出而完成日志的收集。

4、为什么使用fluent-bit

如今,我们环境中的信息源数量正在不断增加,数据收集和日志转发很困难,大规模处理数据收集非常复杂,并且收集和汇总各种数据需要一个专门的工具来处理:

  • 不同的信息来源。
  • 不同的数据格式。
  • 多个目的地。

fluent-bit出于满足对高性能的需求和优化工具,它可以从任何输入源收集数据,统一的数据并将其发送到多个目的地而且支持delimiter、key-value、json等主流格式。比如我们常见的logstash耗费资源严重,filebeat可以作为轻量级日志收集工具,目前只能对接对接到ES、logstash、kafaka、redis而且对数据处理能力有限必须配合大数据平台使用(具体查看:Kubernetes日志收集解决方案)。fluent-bit兼具filebeat的功能,但是filebeat不具备fluent-bit数据处理和路由转发能力,如果我只想简单收集日志,filebeat不能满足,具体请查看:Kubernetes集群环境下fluentd日志收集方案介绍

5、fluentd和fluent-bit的关系及特性

日志收集场景和需求是多变的,为了满足日志收集的灵活性,我们会根据需求选择不同的插件,比如:ELK常见解决方案Kubernetes日志收集解决方案,当前我们主要介绍fluentd和fluent-bit两个开源项目之间的关系及特性,fluentd和fluent-bit都是有Treasure Data公司赞助开发,目标是解决日志收集、处理和转发。

这两个项目有很多相似之处,fluent-bit完全基于Fluentd体系结构和设计经验。从体系结构的角度来看,选择使用哪个取决于使用场景,我们可以考虑:

  • Fluentd是日志收集器,处理器和聚合器。
  • fluent-bit是一个日志收集器和处理器(它没有Fluentd等强大的聚合功能)。

fluentd

fluent-bit

范围

容器/服务器

容器/服务器

语言

C和Ruby

C

大小

约40MB

约450KB

性能

高性能

高性能

依赖关系

作为Ruby Gem构建,主要依赖gems

除了一些安装编译插件(GCC、CMAKE)其它零依赖。

插件支持

超过650个可用插件

大约35个可用插件

许可证

Apache许可证2.0版

Apache许可证2.0版

根据两个组件不同特点可以考虑将Fluentd主要用作聚合器,将fluent-bit作为日志转发器,两个项目相互补充,从而提供了完整的可靠轻量级日志解决方案,当然fluent-bit也可以独立完成日志收集。

6、fluent-bit支持平台

操作系统

平台

cpu架构

Linux

Centos 7

x86_64

Debian 8 (Jessie)

x86_64

Debian 9 (Stretch)

x86_64

Raspbian 8 (Debian Jessie)

AArch32

Raspbian 9 (Debian Stretch)

AArch32

Ubuntu 16.04 (Xenial Xerus)

x86_64

Ubuntu 18.04 (Bionic Beaver)

x86_64

从体系结构支持的角度来看,fluent-bit在基于x86,x86_64,AArch32和AArch64的处理器上具有全部功能。fluent-bit也可以在OSX和*BSD系统上工作,但并非所有插件在所有平台上都可用。官方支持将根据社区需求而扩大。

7、下载地址及参考文档

http://fluentbit.io/download/

https://docs.fluentbit.io/manual/

8、安装及使用方法

参考:日志收集工具fluentd安装配置及使用介绍

9、总结

本文主要介绍了fluent-bit特性及功能,接下来我会分为三遍文章进行分享,分别是fluent-bit在docker和Kubernetes中的使用、fluent-bit插件使用和指令介绍、fluentd和fluent-bit在线上环境的使用,敬请关注。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档