我正在运行一个使用kafka主题的数据的logstash进程。 kafka主题中的消息已经是json格式。 logstash只是在弹性搜索中推动它们。但是这样做时,logstash会改变字段的排序。有一个团队正在消耗数据的csv格式,因此更改的顺序给他们带来了麻烦。可能是什么原因?
例如输入json {" foo1":" bar1"," foo2":" bar2"}。 logstash将其推入弹性,然后弹性,它看起来像{" foo2":" bar2"," foo1":" bar1"}
logstash config
input{
kafka{
codec=>'json' bootstrap_servers => [localhost:9092] topics => 'sample-logs' auto_offset_reset => 'earliest' => group_id => 'logstash-consumer'
}
}
output {
elasticsearch {
hosts => "localhost:9200", codec => json index=> "sample-logs-es" }
stdout {
codec => rubydebug
}
答案 0 :(得分:0)
set the pipeline.worker to 1, or multiple worker will do filter + output parallel
答案 1 :(得分:0)
以相同的顺序或排序的两个很好的理由:
我有一个logstash Ruby脚本,可以纠正代码处理中的版本更新和一些过去的错误。可悲的是,我还从中得到了随机顺序的JSON。而且还不知道如何重新分类以吸收到Elastic中。粗暴的做法是将所有内容都转储到文件中,使用JQ,然后直接提取。