【发布时间】:2022-01-10 14:51:00
【问题描述】:
我想根据 ElasticSearch 中存储的一些文档在 Grafana 上绘制时间序列。文件结构如下:
{
"timestamp": date,
"name1": str,
"name2": str,
"number": float
}
由于对于给定的name1 值,只有name2 的某些值是可能的,所以我在 Grafana 上设置了两个变量:
Name1: {"find": "terms", "field":"name1.keyword"}
Name2: {"find":"terms", "field":"name2.keyword", "query":"name1:$Name1"}
这两个变量正确地生成了两个下拉菜单,在给定 name1 的值的情况下,我可以使用它们来选择正确的 name2 值。现在,在菜单中选择name1 和name2 的给定值后,我希望Grafana 绘制与name1 和name2 的(唯一)组合相对应的number 的时间序列,并且我'我试图通过以下查询来做到这一点:
name1:$Name1 AND name2:$Name2
选择Group By: Date Histgram 和timestamp 作为时间轴。问题是,除非每个name1 只有一个name2 值,否则这将无法正常工作,让我通过一个示例来解释原因。假设我有这两个文件:
{
"timestamp": 20220110,
"name1": "foo",
"name2": "bar",
"number": 2.0
}
{
"timestamp": 20220110,
"name1": "foo",
"name2": "tee",
"number": 3.0
}
我选择max 作为指标。在这种情况下,无论我在name2 下拉菜单中选择什么,Grafana 总是会绘制一个点(20220110, 3),其中 3 对应于 2 到 3 之间的最大值。我理解这种行为的原因:我做了什么不明白的是如何获得我想要的。所以:我怎样才能改变我的查询,在name2下拉菜单中选择bar,我得到一个点(20220110, 2),如果我从同一个菜单中选择tee,我得到@987654345 @?
【问题讨论】:
标签: elasticsearch lucene grafana opensearch grafana-variable