我正在致力於處理Apache訪問日誌的ELK堆棧。花費大量時間瞭解Query DSL格式,以便編寫更復雜的查詢。目前,我正面臨着在kibana界面中運行查詢的問題,但當使用curl從命令行發佈時,相同的查詢工作得很好。如何使用查詢DSL爲Elasticsearch聚合編寫基本查詢搜索查詢
Kibana版本:4.1.0
Elasticsearch版本:1.6.0
的Java:1.8.0_45
使用curl(工作):
curl -XGET http://localhost:9200/cars/transactions/_search?search_type=count -d '{
"aggs" : {
"colors" : {
"terms" : {
"field" : "color"
}
}
}
}
使用的數據來自here 。
使用kibana(不工作):
{ "aggs" : { "colors" : { "terms" : { "field" : "color" } } } }
錯誤:
org.elasticsearch.index.query.QueryPassingException:[.kibana] No query registered for [aggs]
下面是一些我設法在Apache訪問日誌數據使用查詢DSL在kibana成功運行的查詢:
{"filtered":{"filter":{"bool":{"must":{"terms":{"verb":["get"]}}}}}}
{"filtered":{"filter":{"bool":{"must_not":{"terms":{"agent":["crawler","spider","nagios"]}}}}}}
我已經搜索谷歌了幾個小時,但沒有運氣。
作爲新來的ELK我沒有一個適當的想法聚合。我明白agg在發現選項卡中是不可能的,並且正在學習在可視化中使用它。我的疑問已被清除。 –