如何通过Fluent-Bit将容器名称添加至Docker日志中
解决Fluent-Bit收集Docker日志时自动添加容器名称的问题
不用手动匹配容器ID和名称,直接用Fluent-Bit的docker过滤器就能自动拉取Docker容器的元数据(包括名称、镜像名等),配置修改如下:
[INPUT] Name tail Path /var/lib/docker/containers/*/*.log multiline.parser docker Tag docker.* # 确保Tag和后续过滤器的Match规则对应 [FILTER] Name docker Match docker.* Socket_Path /var/run/docker.sock Merge_Log off Container_Name on # 开启后日志会新增container_name字段,值为容器名称 Container_ID on # 可选,保留原容器ID字段 Image_Name on # 可选,同时添加镜像名称字段 [FILTER] Name record_modifier Match docker.* Record hostname ${HOSTNAME}
注意事项:
- Fluent-Bit进程需要有访问
/var/run/docker.sock的权限,可将运行Fluent-Bit的用户加入docker组,或者调整socket的权限(生产环境建议用组权限更安全,避免直接给全局读写权限)。 - 配置中的
Tag要和过滤器的Match规则对应,确保过滤器能匹配到目标日志流。
这样配置后,日志里就会自动带上容器名称,不用再手动维护ID和名称的映射关系。
内容的提问来源于stack exchange,提问作者siiitonik
相关产品推荐
相关产品推荐

