【发布时间】:2020-05-07 07:56:33
【问题描述】:
我们在 Kubernetes 中部署了一个应用程序,所有应用程序都配置为记录到标准输出。我们使用 fluentd DaemonSet 从/var/lib/docker/containers/ 文件夹收集日志并将它们发送到 ElasticSearch 集群。 /var/lib/docker/containers/ 和 kubectl logs <podname> 中的 k8s 聚合日志文件都具有命令应用程序正确生成它们的日志行。 ElasticSearch集群连接了一个Kibana实例,日志按照@timestamp排序显示,这里的日志顺序是错误的(和flie中的顺序不一样)。由于应用程序的性质,在同一个@timestamp 中生成了多个日志,只有那些没有正确排序。有没有办法在从 fluentd 发货时发送行号或偏移量(递增数字)并使用 @timestamp 和该值的组合来正确排序?或者是否有其他方法可以在索引后获得与kubectl logs <podname> 显示的相同顺序?
【问题讨论】:
-
docker 日志有自己的时间戳,那里的时间戳也一样吗?
-
我也注意到了这个问题,期待一些解决方案。
标签: elasticsearch kubernetes kibana fluentd efk