通信 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。
我尝试使用 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。