健康报告管道流程:工作器利用率

编辑

健康报告管道流程:工作器利用率

编辑

管道指示器有一个 flow:worker_utilization 探针,能够生成关于管道中阻塞的几种诊断结果之一。

当管道的工作器被完全利用时,管道被认为是“阻塞”的,因为如果它们持续花费 100% 的时间来处理事件,它们将无法从队列中获取新事件。这会导致反压级联到上游服务,这可能会导致数据丢失或重复处理,具体取决于上游配置。

该问题通常源于以下一个或多个原因:

  • 下游资源被阻塞,
  • 插件消耗的资源超出预期,和/或
  • 分配给管道的资源不足。

要解决此问题,请从 节点统计 API 中观察 插件流速,并确定哪些插件的 worker_utilization 最高。这将告诉您哪些插件花费了管道中最多工作器资源。

  • 如果出现问题的插件连接到下游服务或另一个施加反压的管道,则需要在下游服务或管道中解决该问题。
  • 如果出现问题的插件连接到具有高网络延迟的下游服务,可以通过为管道分配更多工作器资源来提高管道的吞吐量。
  • 如果出现问题的插件是计算密集型过滤器,例如 grokkv,则可能需要调整其配置以消除浪费的计算。

管道阻塞(5 分钟)

编辑

管道完全阻塞五分钟或更长时间表示事件通过管道的流动存在严重阻塞,需要立即解决以避免或限制数据丢失。有关故障排除步骤,请参见上文。

管道几乎阻塞(5 分钟)

编辑

管道几乎阻塞五分钟或更长时间可能会对事件通过管道的流动产生间歇性阻塞,这可能导致数据丢失的风险。有关故障排除步骤,请参见上文。

管道阻塞(1 分钟)

编辑

管道完全阻塞一分钟或更长时间表示事件通过管道的流动存在高风险或即将发生的阻塞,可能需要尽快解决以避免或限制数据丢失。有关故障排除步骤,请参见上文。

管道几乎阻塞(1 分钟)

编辑

管道几乎阻塞一分钟或更长时间可能会对事件通过管道的流动产生间歇性阻塞,这可能导致数据丢失的风险。有关故障排除步骤,请参见上文。