我的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",
但是我如何在查询字段中实现这一点呢?
1条答案
按热度按时间f2uvfpb91#
好的,您需要切换到lucene表达式语言,然后您只需编写以下内容:
这定义了
range
查询另一个(更好的)解决方案是使用“is between”操作符创建一个过滤器(add filter),而不是将查询写入搜索栏。它将更好地工作,你可以坚持与kql在搜索栏。