命令

配置文件必须足够灵活以适应任何部署需求,它们必须保持干净且易读的格式。

Fluent Bit Commands 扩展了具有特定内置功能的配置文件。从Fluent Bit 0.12 系列开始可用的命令列表为:

命令 模版 描述
@INCLUDE @INCLUDE FILE 包含一个配置文件
@SET @SET KEY=VAL 配置配置变量

@INCLUDE 命令

配置日志记录管道可能会有大量配置文件。为了保持易于理解的配置,建议将配置分成多个文件。

@INCLUDE 命令允许配置读取器包含一个外部配置文件,例如:

  1. [SERVICE]
  2. Flush 1
  3. @INCLUDE inputs.conf
  4. @INCLUDE outputs.conf

上面的示例定义了主服务配置文件,还包括两个文件以延续配置:

inputs.conf

  1. [INPUT]
  2. Name cpu
  3. Tag mycpu
  4. [INPUT]
  5. Name tail
  6. Path /var/log/*.log
  7. Tag varlog.*

outputs.conf

  1. [OUTPUT]
  2. Name stdout
  3. Match mycpu
  4. [OUTPUT]
  5. Name es
  6. Match varlog.*
  7. Host 127.0.0.1
  8. Port 9200
  9. Logstash_Format On

请注意,不管包含的顺序如何,Fluent Bit 始终遵循以下顺序:

  • Service
  • Inputs
  • Filters
  • Outputs

@SET 命令

Fluent Bit 支持配置变量,向 Fluent Bit 设置变量的一种方法是通过设置 Shell 环境变量,另一种是通过 @SET 命令

@SET 命令只能在每行的根目录级别使用,这意味着它不能在配置段内使用,例如:

  1. @SET my_input=cpu
  2. @SET my_output=stdout
  3. [SERVICE]
  4. Flush 1
  5. [INPUT]
  6. Name ${my_input}
  7. [OUTPUT]
  8. Name ${my_output}