配置fluent-bit的方法之一是使用主配置文件。fluent-bit允许使用一个在全局范围内工作的配置文件。
主配置文件包括以下四种配置部分:
此外,还可以使用包含外部文件的功能将主配置文件拆成多个文件
接下来将分别进行各部分配置介绍
Survive部分定义了服务的全局属性,从1.9版本开始包含的键见下表:
Key | Description | Default Value |
---|---|---|
flush | 设置刷新时间,秒 | 5 |
grace | 引擎循环退出的等待时间,秒 | 5 |
daemon | 设置后台运行,可选值包括:yes,no,on,off;如果设置为systemd启动,请设置为off | Off |
dns.mode | 异步DNS解析的主要传输层协议,可以在每一个插件的基础上覆盖 | UDP |
log_file | 可选的日志文件存储绝对路径。默认情况下,所有日志都重定向到标准错误接口(stderr) | |
log_level | 设置日志记录详细级别,包括:off,error,warn,info,debug,trace | info |
parsers_file | 配置文件的路径,parsers可以在该部分定义多个parsers_file | |
plugins_file | plugins配置文件的路径。允许定义外部插件的路径 | |
streams_file | ||
http_server | Off | |
http_listen | 0.0.0.0 | |
http_port | 2020 | |
coro_stack_size | 24576 | |
scheduler.cap | 2000 | |
scheduler.base | 5 |
以下是service部分的示例:
[SERVICE]
Flush 5
Daemon off
Log_Level debug
Input部分定义了输入源,这里只描述基本配置。每个输入都可以添加自己的key-value:
Key | Description |
---|---|
Name | 名称 |
Tag | 定义的标签名 |
Name是必填项,用来加载fluent-bit对应的input插件。除了input中的forward 插件(动态标签),其他所有的插件类型都要定义Tag。
以下是Input部分的示例:
[INPUT]
Name cpu
Tag my_cpu
Filter部分定义了一个过滤器(与过滤插件有关),这里将描述每个Filter部分的基本配置。每个Fileter都可以添加自己的key-value:
Key | Description |
---|---|
Name | 名称 |
Match | 与input中定义的Tag进行匹配,区分大小写并可以使用*进行通配 |
Match_Regex | 正则匹配 |
Name是必填项,用来加载fluent-bit对应的filter插件。所有的插件类型都要定义Match或者Match_Regex,如果都定义了,Match_Regex优先级跟高。
以下是Filter部分的示例:
[FILTER]
Name grep
Match *
Regex log aa
Output部分定义了输出源,指定了匹配后的记录输出目的地。目前,fluent-bit最多可以路由256个Output插件。该配置支持以下值:
Key | Description |
---|---|
Name | 名称 |
Match | 与input中定义的Tag进行匹配,区分大小写并可以使用*进行通配 |
Match_Regex | 正则匹配 |
以下是Output部分的示例:
[OUTPUT]
Name stdout
Match my*cpu
以下配置文件演示了如何收集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 somefile.conf
配置路径为主配置文件的相对路径,例如:
include file支持通配符(*):
@INCLUDE input_*.conf
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删