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

编辑

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

编辑

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

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

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

  • 下游资源被阻塞;
  • 插件消耗的资源超过预期;以及/或者
  • 分配给管道的资源不足。

要解决此问题,请观察来自 节点统计 API 的插件流速率,并确定哪些插件具有最高的 worker_utilization。这将告诉您哪些插件消耗了管道的大部分 Worker 资源。

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

管道阻塞 (5 分钟)

编辑

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

管道接近阻塞 (5 分钟)

编辑

一个接近阻塞五分钟或更长时间的管道可能会对通过管道的事件流造成间歇性阻塞,这可能导致数据丢失的风险。请参见上面的故障排除步骤。

管道阻塞 (1 分钟)

编辑

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

管道接近阻塞 (1 分钟)

编辑

一个接近阻塞一分钟或更长时间的管道可能会对通过管道的事件流造成间歇性阻塞,这可能导致数据丢失的风险。请参见上面的故障排除步骤。