关键配置中的 Fluent-bit 变量

Fluent-bit Variables in Key configuration

我正在创建一个自定义的 Fluent-Bit 图像,我想要一个可以在多种情况下工作的“通用”配置文件,即:它应该有时与前向输入一起工作,有时与尾部输入一起工作。

我想过使用环境变量,这样只有一个输入,但似乎我们不能只在值端设置关键部分的变量(见下面的代码)。

当我在一个docker-entrypoint文件中设置了相应的环境变量,并带有相应的条件

export INPUT_PATH="/myLogPath"
export INPUT_PATH_TYPE="path"
export INPUT_NAME="tail"
[INPUT]
    Name ${INPUT_NAME}
    ${INPUT_PATH_TYPE} ${INPUT_PATH}

这是我收到的错误信息

[error] [config] tail: unknown configuration property '${INPUT_PATH_TYPE}'. The following properties are allowed: path, exclude_path, key, read_from_head, refresh_interval, watcher_interval, rotate_wait, docker_mode, docker_mode_flush, docker_mode_parser, path_key, ignore_older, buffer_chunk_size, buffer_max_size, skip_long_lines, exit_on_eof, parser, tag_regex, db, db.sync, db.locking, multiline, multiline_flush, parser_firstline, and parser_.

我正在寻找一种使其动态化的方法,以便拥有具有动态配置的单个文件或可以动态包含的多个文件(@Include 需要我所看到的静态文件路径).

编辑:我看到的唯一选择是拥有多个输入文件(针对每个用例)并在 docker-入口点文件

中启动 fluent-bit 时动态调用它

我使用 docker-入口点并将输入拆分,过滤器到不同的文件,然后根据入口点中的环境变量,我创建一个符号 link 到相应的文件