我现在尝试了一些日志收集服务,比如logspout/papertrail和fluentd/elasticsearch,但是结果并不总是以正确的顺序显示,这会使调试变得困难。一个例子是node.js应用程序 console.log
导致多行或堆栈跟踪出错的命令。所有行都显示了相同的时间戳,我猜日志收集服务无法知道显示这些行的顺序。有没有办法提高毫秒精度?或者其他方法来确保它们以相同的顺序显示,就像我做了一个 docker logs
命令?
更新:我还没有研究过它,但是我在更新的版本中看到了一些关于fluent或elasticsearch的东西,默认支持毫秒+精度
2条答案
按热度按时间kxkpmulp1#
据我所知,你有两个选择:
提高时间戳精度(就像你做的那样);或
使用日志存储,可以维护数据的顺序。例如mongodb。日志收集的概念在另一篇stackoverflow文章中描述。
x759pob22#
我在这个答案中找到了一个fluentd的解决方案,尽管我仍然想要一个真正的解决方案
这是我修改的td-agent.conf,用于fluentd es图像。它增加了
time_nano
字段,可按其排序