从elasticsearch数据源获取grafana中的最新元素

k2fxgqgv  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(479)

在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中得到满足某个条件的索引的最后一个文档吗?

lyr7nygr

lyr7nygr1#

我想通过将“mindoccount”选项设置为1:

相关问题