博客/工程

避免了由于无序的日志时间戳和一个新的洛基特性

2021年9月16日3分钟

这篇文章是用高级技术作家凯伦·米勒。

删除日志行由于无序的时间戳可以是过去的事了!允许无序写入的一个最想要的功能洛基,我们高兴地宣布,在即将到来的v2.4版本中,要求在订单日志行到时间戳将被取消。简单的配置将为洛基v2.4允许无序写入。如果您正在使用Grafana云,我们完全管理平台集成指标、日志、痕迹,仪表板,无序写入已经接受。

限制和影响

洛基的《盗梦空间》作为一个节约内存日志聚合工具,它要求日志条目流到达时间内秩序。日志条目写入到洛基违反订购需求下降。

  1. 时间戳= " 10/02/2021 07:00:06 -0700“程序=“部件”,env =“刺激”,集群=“eu-west2”
  2. 时间戳= " 10/02/2021 07:00:08 -0700“程序=“部件”,env =“刺激”,集群=“eu-west2”
  3. 时间戳= " 10/02/2021 07:00:05 -0700“程序=“部件”,env =“刺激”,集群=“eu-west2”
  4. 时间戳= " 10/02/2021 07:00:10 -0700“程序=“部件”,env =“刺激”,集群=“eu-west2”

如果这些日志行到达给定的秩序,第三个日志行(强调)坏了,因为它的时间戳比第二早三秒钟时间戳。洛基无序量测线将会下降。

要求的顺序到达日志行不是那么糟糕当Promtail反面的代理的一个独立的应用程序。但是如果你的日志介绍同一应用程序的多个实例或添加的复杂性系统,这些无序的日志行成为一个问题。

这里是问题设置的例子:

  • 代理除了Promtail可能不占点约束。
  • 在高负载系统中或在重试配置系统中,这是常见的数据发送略。可能会有几秒钟,但是日志行仍然可以到达。
  • 但最精心架构处理管道,在一组源收藏家风扇为聚合器或处理器的日志,数据往往是发送略。
  • λ(短暂的工作)是另一个很好的例子。他们的短寿命和高并行性很难工作顺序约束。实现挤压之间的岩石和坚硬的地方。他们可以添加标签,膨胀指数,可以仔细构造一组Promtail代理,或者他们可以处理日志行下降的后果。我写了一个博客中详细描述的问题和解决方案bob彩票中奖计划

配置无序写入

与洛基v2.4,可以解除限制和简单的配置命令。洛基将接受无序数据与微不足道的性能成本,继续优化适用于订单数据。

你可以找到的配置细节的文档。可以解除限制整个洛基集群,或者它可以解除tenant-by-tenant基础上。一个可配置的时间窗口允许您定义距离当前时间一个无序量测线可以被接受。

更详细的信息,阅读设计文档

现在试试!

现在你可以尝试这个功能Grafana云;无序的写了一个小时老被接受。我们有免费和付费Grafana云计划以适应每个用例-现在免费注册