知道logstash何时完成其管道中的所有处理

知道logstash何时完成其管道中的所有处理,logstash,Logstash,我有一个相对复杂的logstash管道设置,其中一些管道会馈送到其他管道中,拆分事件,对外部服务进行http调用,有时还会将事件反馈到它来自的管道中。(有防止无限循环的逻辑) 我试图编写一些集成测试,将测试事件馈送到正在运行的logstash中,等待logstash完成对它们的完全处理(包括它们产生的任何额外事件),然后检查结果输出是否如预期的那样 这个logstash实例不应该从其他地方接收任何额外的输入,所以我认为检查它是否“空闲”(忽略与xpack监控有关的任何事件)就足够了 我认为pip

我有一个相对复杂的logstash管道设置,其中一些管道会馈送到其他管道中,拆分事件,对外部服务进行http调用,有时还会将事件反馈到它来自的管道中。(有防止无限循环的逻辑)

我试图编写一些集成测试,将测试事件馈送到正在运行的logstash中,等待logstash完成对它们的完全处理(包括它们产生的任何额外事件),然后检查结果输出是否如预期的那样

这个logstash实例不应该从其他地方接收任何额外的输入,所以我认为检查它是否“空闲”(忽略与xpack监控有关的任何事件)就足够了

我认为pipleine stats monitoring API可能是我想要使用的——但我不确定。如果每条管道的“in”和“out”的值相等,这是否意味着我可以确定没有更多的“in-flight”?或者这些计数器是否可能由于其他原因(例如事件拆分、事件筛选)而不同步


在(和链接之后)的讨论似乎表明,“in”和“out”总是同步出现,一个bug表明不应该出现这种情况——一个相关的bug显示了in和out不同的情况—

大多数时候,我发现使用事件统计API并等待“out”等于“in”达到我想要的

然而,我有时会看到“out”高于“in”-我无法找到这个,但我认为它发生在其他地方出现错误时

所以这个检查对于集成测试来说可能已经足够好了,当您打算在之后再次删除日志时——但我不想在生产中依赖它

遗憾的是,我还没有找到任何关于这些数字含义的官方定义