![](/img/trans.png)
[英]ElasticSearch to Kafka event - on each change using Logstash
[英]Using Elasticsearch + Logstash to push aggregated statistics to Kafka
我们正在使用Kafka,Elasticsearch和Logstash。 为了进行试验,我们想构建一个小型服务,该服务:
至此,我们已经获得了生成点击消息并将其推送到Kafka主题的服务,并且我们正在使用Logstash读取这些消息并将其推送到Elasticsearch。
我们现在需要的是一种产生包含汇总结果的新Kafka消息的方法。 我们尝试使用以下Logstash配置文件(此时的聚合请求完全是随机的):
input {
elasticsearch {
hosts => "localhost"
query => '{
"query": {
"query_string": {
"query": "*",
"analyze_wildcard": true
}
},
"size": 0,
"aggs": {
"messages": {
"value_count": {
"field": "message"
}
}
}
}'
}
}
output {
kafka {
topic_id => 'aggregated_stats'
}
}
不幸的是,Elasticsearch给我们以下错误消息:
org.elasticsearch.ElasticsearchIllegalArgumentException: aggregations are not supported with search_type=scan
而且,似乎Logstash在生成单个消息后立即退出,而我们希望它随着聚合统计信息的变化而不断生成新消息。
这有道理吗?
在输出配置中添加“ broker_list”时,它在我的服务器上工作。
output {
kafka {
broker_list => "x.x.x.x:9092,y.y.y.y:9092"
topic_id => "aggregated_stats"
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.