kibana:限制结果持续5分钟

djmepvbi  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(415)

我的kibana Jmeter 盘上有一个实时访客柜台。为了实现这一点,我在ip地址上创建了一个唯一的计数,并通过查询将结果限制在最后5分钟内:

@timestamp:now-5m

从几个月前起就开始工作了。我不知道kibana中是否发生了一些变化,至少@timestamp字段仍然存在,但似乎“now-5m”语法已经不起作用了。结果集总是空的。
有人能提供一个正确的查询或替代解决方案,我如何创建一个实时访客柜台与kibana可视化?
下面是基本查询:

"query": {
  "bool": {
    "must": [],
    "filter": [
      {
        "bool": {
          "should": [
            {
              "range": {
                "@timestamp": {
                  "gte": "now-5m",
                  "lte": "now-5m",
                  "time_zone": "Europe/Berlin"
                }
              }
            }
          ],
          "minimum_should_match": 1
        }
      },
      {
        "range": {
          "@timestamp": {
            "format": "strict_date_optional_time",
            "gte": "2020-08-27T22:00:00.000Z",
            "lte": "2020-08-28T21:59:59.999Z"
          }
        }
      }
    ],
    "should": [],
    "must_not": []
  }
},


我认为问题在于:

"gte": "now-5m",
"lte": "now-5m",

可能是:

"gte": "now-5m",
"lte": "now",

但是我如何在查询字段中实现这一点呢?

f2uvfpb9

f2uvfpb91#

好的,您需要切换到lucene表达式语言,然后您只需编写以下内容:

@timestamp:[now-5m TO now]

这定义了 range 查询
另一个(更好的)解决方案是使用“is between”操作符创建一个过滤器(add filter),而不是将查询写入搜索栏。它将更好地工作,你可以坚持与kql在搜索栏。

相关问题