2017-07-19 116 views
0

我需要以书面看守输入查询ElasticSearch(V5.3)的帮助。我的要求是在apache状态码变为500或更多时触发警报。ElasticSearch看守过滤范围查询

Index name: Apache-access-log Field name: status_code Kibana Discover query: status_code: [500 TO 600] Time period: Last 15 minutes.

这里是我曾经用过的看守输入查询,但预期它并没有奏效。

{ 
    "search": { 
    "request": { 
     "index": [ 
     "Apache-access-log" 
     ], 
     "body": { 
     "query": { 
      "filtered": { 
      "query": { 
       "query_string": { 
       "query": "status_code: 500", 
       } 
      }, 
      "filter": { 
       "range": { 
       "@timestamp": { 
        "gte": "now-15m", 
        "lte": "now" 
       } 
       } 
      } 
      } 
     } 
     } 
    } 
    } 
} 

回答

0

Elasticsearch 5.5不再支持过滤的查询。使用布尔查询与过滤

布尔: 绝: QUERY_STRING: 查询: 'STATUS_CODE:[500:600]' 过滤器: 范围: @timestamp:...

总是尝试先将其作为独立查询进行查询,然后再将其放入监视器中。如果你有一段时间,我强烈建议你this blog post如何编写和调试手表