作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们在Kubernetes中部署了一个应用程序,并且所有应用程序都配置为登录到stdout。我们使用fluentd DaemonSet从/var/lib/docker/containers/
文件夹中收集日志并将其发送到ElasticSearch集群。 /var/lib/docker/containers/
和kubectl logs <podname>
中的k8s聚合日志文件在应用程序正确生成它们的顺序中都有日志行。 ElasticSearch集群已连接到Kibana实例,并且日志按@timestamp
排序显示,并且此处的日志顺序不正确(与flie中的顺序不同)。由于应用程序的性质,在同一@timestamp
中会生成多个日志,并且只有那些日志的顺序不正确。从流利型运输时,是否可以发送行号或偏移量(递增编号),并结合使用@timestamp
和该值来正确排序?还是有另一种方法来建立索引后从kubectl logs <podname>
显示的顺序相同?
最佳答案
Docker容器设置为使用UTC时间戳,因此,如果您要使用fluentd日志驱动程序将docker日志运送到fluentd容器,则日志将被标记为fluentd容器的UTC戳。但是,如果您使用日志日志驱动程序将日志消息发送到流线型容器,则它将保留本地时间戳记。您可以在docker-compose文件中将容器的时间戳调整为本地时间,如下所示:
environment:
- TZ=America/Los_Angeles debian:jessie date
关于elasticsearch - 使用Fluentd运送到Elasticsearch后,日志未按顺序显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59837997/
我是一名优秀的程序员,十分优秀!