如何使用Grafana查询进行过滤

时间:2020-08-21 10:53:14

标签: prometheus grafana

所以我有一个grafana仪表板,我需要过滤掉一些标签。所以我正在使用label_values函数。

我的数据源是prometheus

因此,对于此label_values函数,我正在传递变量domain_name,它会产生3个结果,如下所示:

domain1
domain2
domain3

但是我只需要过滤并获取domain1,因此domain2domain3被删除。

所以我尝试了这些,并说表达式无效。

// 1 method, gives invalid expression error
label_values(domain_name)[0]

// 2 method, gives invalid expression error
label_values(domain_name[0])

那我该怎么做?

这里还附有屏幕截图。

enter image description here

1 个答案:

答案 0 :(得分:1)

您的问题有点难以理解。所以这是两个答案:

您只希望domain1结尾于模板变量:

label_values(my_metric{my_label="domain1"}, my_label)

我无法想象您想要这个的原因。因此,我假设您实际上是要针对该特定域过滤仪表板/面板。

您要过滤特定域的仪表板/面板:

label_values(my_metric_that_has_label_with_all_domains, domain_label_name)

不要忘记设置时间范围更改的更新。

现在在面板中,您可以使用如下变量:

rate(mymetric{domain_label_name=~"$cluster"}[5m])


示例用法

enter image description here