在grafana查询编辑器中,我尝试复制以下elasticsearch dsl查询:
{
"query": {
"match": {
"hostname": "A"
}
},
"sort": [
{ "utctimestamp": "desc" }
],
"size": 1
}
它给出了索引中最新的文档,其中有一个字段“hostname”,值为“a”。
我可以得到 risk_num
来自我的elasticsearch索引的最新元素的字段,查询如下:
但是,如果我添加一个过滤器 hostname: "A"
在“query”字段中,如果索引中最新的文档与“a”主机名匹配,则它将起作用,但如果索引中最新的文档有另一个主机名(例如“b”),则它将返回带有“b”主机名的文档的datetime,并且风险值为null。
示例:我的es索引中保存了以下两个文档:
{
"_source": {
"hostname": "B",
"risk_num": 20,
"utctimestamp": "2020-10-21T12:12:34.356Z"
}
},
{
"_source": {
"hostname": "A",
"risk_num": 10,
"utctimestamp": "2020-10-21T12:11:03.489Z"
}
}
主机名为b的文档比主机名为a的文档更新。
主机名b请求正常:
对主机名a的请求返回null(预期值:10):
你知道如何在grafana中得到满足某个条件的索引的最后一个文档吗?
1条答案
按热度按时间lyr7nygr1#
我想通过将“mindoccount”选项设置为1: