通信 filebeat --> logstash:消息顺序错误

communication filebeat --> logstash: messages wrong order

我尝试使用 filebeat 将 csv 数据文件提供给 logstash。不幸的是,这些消息是乱序的。有什么办法可以纠正这个问题吗? 这可能是由 TCP 或任何管道引起的吗? Logstash 启动 logstash.javapipeline / pipeline_id=>"main", "pipeline.workers"=>8

我试过: filebeat - 输出到控制台 - 通过 filebeat - 输出到 logstash (localhost) - logstash w/o 过滤器;输出到标准输出 - 失败(消息顺序错误)

Logstash 不保证每个默认顺序,因为批处理中的事件可以在过滤器处理中重新排序,并且某些事件的处理速度比其他事件快。

如果您需要订购您的活动,您必须将 pipeline.workers 的数量更改为 1,这意味着只有 1 CPU 将用于处理您的消息。

此外,在 logstash.yml 中将 pipeline.ordered 设置为 auto

pipeline.workers 设置为 1 将使 logstash 按照收到的顺序处理事件,但由于它只会使用 1 CPU,如果您的速率很高,它可能会影响性能每秒事件数。

这是关于订购活动的part of the documentation