ElasticSearch Watcher过滤范围查询

时间:2017-07-19 12:17:03

标签: elasticsearch kibana

我需要帮助编写ElasticSearch(v5.3)的Watcher输入查询。我的要求是在apache状态代码变为500或更多时触发警报。

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

这是我使用的Watcher输入查询,但它没有按预期工作。

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

1 个答案:

答案 0 :(得分:0)

Elasticsearch 5.5不再支持筛选查询。使用带过滤器的布尔查询

BOOL:   必须:     请求参数:       查询:' status_code:[500:600]'   过滤:     范围:       @timestamp:...

在将其放入观察者之前,始终首先尝试作为独立查询进行查询。如果你有时间,我强烈建议你this blog post如何编写和调试手表