0

我正在制作一些管理系统,并想用 fluentd 管理 docker 容器的日志。

我真正想做的是使用 --log-opt 标签中的参数动态保存日志。例如,当我部署容器时,我使用如下命令: docker run --log-driver=fluentd --log-opt fluentd-address=some_addr --log-opt tag={task_id} some_image

我要做的是通过 log-opt 标记中的 task_id 对日志进行分类。在fluent.conf中,我想设置这样的路径:/fluent/log/{task_id}/data.*.log

如何将变量或占位符传递到 fluentd conf 文件中?

4

1 回答 1

0

您可以在命令中添加环境变量后尝试。YAML(kubernetes)中 fluentd deploy(daemonset)文件的 PFB 链接,我在 Fluentd daemonset 文件(Fluentd Deployment)中传递环境变量,并在 fluentd.conf 中使用它。

如何在 fluentd 中为 index_name 获取 ${kubernetes.namespace_name}?

在docker中传递环境变量- https://stackoverflow.com/questions/30494050/how-do-i-pass-environment-variables-to-docker-containers#:~:text=Using%20docker%2Dcompose%20%2C %20you%20can,commands%20specific%20to%20the%20environment.&text=Use%20%2De%20or%20%2D%2Denv,set%20environment%20variables%20(default%20%5B%5D)

于 2020-08-08T11:15:39.813 回答