log-pilot icon indicating copy to clipboard operation
log-pilot copied to clipboard

k8s 环境下使用fluentd采集log,pod中容器重启之后是不是容易造成日志重复采集

Open hunshenshi opened this issue 6 years ago • 4 comments

fluentd关于容器log的pos是记录在pos_file /pilot/pos/{{ $.containerId }}.{{ .Name }}.pos这里,但是在pod中容器重启之后log所在的目录不会变,容器id发生了变化,所以pos也就发生了变化,fluentd就会对重启之后的log进行重采集,造成log采集重复,有没有遇到这种情况,反正我遇到了

hunshenshi avatar Dec 24 '18 08:12 hunshenshi

@hunshenshi 我们处理下,也欢迎提PR

chenquanzhao avatar Apr 13 '19 02:04 chenquanzhao

{{if index $.container "k8s_pod"}}{{ index $.container "k8s_pod" }}{{else}}{{ $.containerId }}{{end}} 我改成这样了,判断了下

hunshenshi avatar Apr 14 '19 03:04 hunshenshi

@chenquanzhao 如果这样可以到话,我就提个PR

hunshenshi avatar Apr 16 '19 09:04 hunshenshi

fluentd关于容器log的pos是记录在pos_file /pilot/pos/{{ $.containerId }}.{{ .Name }}.pos这里,但是在pod中容器重启之后log所在的目录不会变,容器id发生了变化,所以pos也就发生了变化,fluentd就会对重启之后的log进行重采集,造成log采集重复,有没有遇到这种情况,反正我遇到了

这个log所在的目录应该会变吧!因为容器的ID变了。 image image

ZP-AlwaysWin avatar Jun 29 '20 12:06 ZP-AlwaysWin