居然是你

filebeat采集K8S集群日志的问题

Beats | 作者 wajika | 发布于2020年08月18日 | 阅读数:2525

docker 日志配置
{
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file":"5"
}
}
有几个问题想讨论下
1、docker输出的一些编码字符如何处理?(见图片1)
比如说这些 \u001b[40m\u001b[32minfo\u001b[39m\u001b[22m\u001b[49m
如果这些垃圾信息不清理,要做多行合并就会比较麻烦
微信图片_20200818111328.png

 
 
2、filebeat采集的log.path
K8S输出的日志位置是在 /var/log/pods/
K8S的资源输出位置是/var/lib/kubelet/pods/
docker输出的日志是/var/log/containers/
 
filebeat默认采集的是/var/log/containers/,但是这个路径下的log文件不包含服务名
感觉采集/var/log/pods/是最合适的。但是这样也有个问题,如果pod有两个副本的话,他们名字是一样的,两个容器日志是否可能乱序?
 
 
 
有没有最佳的实践方案?
 
3、我原来是用挂载的方式将日志目录映射出来,filebeat(POD)直接读文件,不知道大家是否都是用这种方式。
 
已邀请:

要回复问题请先登录注册