如何使用 Grafana 查询进行过滤

How to filter using Grafana queries

所以我有一个 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])

那我该怎么做呢?

这里也附上截图。

你的问题有点难懂。所以这里有两个答案:

您只希望 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])


示例用法