fluent-bit之配置详解


前言

fluent-bit通过daemonset方式部署用来进行采集k8s日志是非常不错的选择。
官方文档地址:链接: link——https://docs.fluentbit.io/manual/


一、配置文件

配置fluent-bit的方法之一是使用主配置文件。fluent-bit允许使用一个在全局范围内工作的配置文件。
主配置文件包括以下四种配置部分:

  • Service
  • Input
  • Filter
  • Output

此外,还可以使用包含外部文件的功能将主配置文件拆成多个文件

  • Include File

接下来将分别进行各部分配置介绍

二、Service

Survive部分定义了服务的全局属性,从1.9版本开始包含的键见下表:

KeyDescriptionDefault Value
flush设置刷新时间,秒5
grace引擎循环退出的等待时间,秒5
daemon设置后台运行,可选值包括:yes,no,on,off;如果设置为systemd启动,请设置为offOff
dns.mode异步DNS解析的主要传输层协议,可以在每一个插件的基础上覆盖UDP
log_file可选的日志文件存储绝对路径。默认情况下,所有日志都重定向到标准错误接口(stderr)
log_level设置日志记录详细级别,包括:off,error,warn,info,debug,traceinfo
parsers_file配置文件的路径,parsers可以在该部分定义多个parsers_file
plugins_fileplugins配置文件的路径。允许定义外部插件的路径
streams_file
http_serverOff
http_listen0.0.0.0
http_port2020
coro_stack_size24576
scheduler.cap2000
scheduler.base5

以下是service部分的示例:

[SERVICE]
    Flush           5
    Daemon          off
    Log_Level       debug

二、Input

Input部分定义了输入源,这里只描述基本配置。每个输入都可以添加自己的key-value:

KeyDescription
Name名称
Tag定义的标签名

Name是必填项,用来加载fluent-bit对应的input插件。除了input中的forward 插件(动态标签),其他所有的插件类型都要定义Tag。

以下是Input部分的示例:

[INPUT]
    Name cpu
    Tag  my_cpu

三、Filter

Filter部分定义了一个过滤器(与过滤插件有关),这里将描述每个Filter部分的基本配置。每个Fileter都可以添加自己的key-value:

KeyDescription
Name名称
Match与input中定义的Tag进行匹配,区分大小写并可以使用*进行通配
Match_Regex正则匹配

Name是必填项,用来加载fluent-bit对应的filter插件。所有的插件类型都要定义Match或者Match_Regex,如果都定义了,Match_Regex优先级跟高。

以下是Filter部分的示例:

[FILTER]
    Name  grep
    Match *
    Regex log aa

四、Output

Output部分定义了输出源,指定了匹配后的记录输出目的地。目前,fluent-bit最多可以路由256个Output插件。该配置支持以下值:

KeyDescription
Name名称
Match与input中定义的Tag进行匹配,区分大小写并可以使用*进行通配
Match_Regex正则匹配

以下是Output部分的示例:

[OUTPUT]
    Name  stdout
    Match my*cpu

五、示例

Example: collecting CPU metrics

以下配置文件演示了如何收集CPU指标并每五秒将结果刷新到标准输出:

[SERVICE]
    Flush     5
    Daemon    off
    Log_Level debug

[INPUT]
    Name  cpu
    Tag   my_cpu

[OUTPUT]
    Name  stdout
    Match my*cpu

六、可视化

还可以在 https://cloud.calyptia.com 可视化INPUT、FILTER、OUTPUT配置。
在这里插入图片描述

七、include file

为了避免配置文件过长,最好将配置文件拆分到不同的配置文件中,通过在主配置文件中进行引用

如下:

@INCLUDE somefile.conf

配置路径为主配置文件的相对路径,例如:

  • 主配置文件路径: /tmp/main.conf
  • Included file: somefile.conf
  • Fluent-Bit会尝试打开 somefile.conf,如果失败会尝试/tmp/somefile.conf

include file支持通配符(*):

@INCLUDE input_*.conf
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值