fluent-bit之配置详解
fluent-bit通过daemonset方式部署用来进行采集k8s日志是非常不错的选择。官方文档地址链接link——https。
fluent-bit之k8s日志采集
前言
fluent-bit通过daemonset方式部署用来进行采集k8s日志是非常不错的选择。
  官方文档地址:链接: link——https://docs.fluentbit.io/manual/
一、配置文件
配置fluent-bit的方法之一是使用主配置文件。fluent-bit允许使用一个在全局范围内工作的配置文件。
  主配置文件包括以下四种配置部分:
- Service
 - Input
 - Filter
 - Output
 
此外,还可以使用包含外部文件的功能将主配置文件拆成多个文件
- Include File
 
接下来将分别进行各部分配置介绍
二、Service
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
Input部分定义了输入源,这里只描述基本配置。每个输入都可以添加自己的key-value:
| Key | Description | 
|---|---|
| Name | 名称 | 
| Tag | 定义的标签名 | 
Name是必填项,用来加载fluent-bit对应的input插件。除了input中的forward 插件(动态标签),其他所有的插件类型都要定义Tag。
以下是Input部分的示例:
[INPUT]
    Name cpu
    Tag  my_cpu
三、Filter
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
Output部分定义了输出源,指定了匹配后的记录输出目的地。目前,fluent-bit最多可以路由256个Output插件。该配置支持以下值:
| Key | Description | 
|---|---|
| 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
更多推荐
 


所有评论(0)