所以我有一个grafana
仪表板,我需要过滤掉一些标签。所以我正在使用label_values
函数。
我的数据源是prometheus
因此,对于此label_values
函数,我正在传递变量domain_name
,它会产生3个结果,如下所示:
domain1
domain2
domain3
但是我只需要过滤并获取domain1
,因此domain2
和domain3
被删除。
所以我尝试了这些,并说表达式无效。
// 1 method, gives invalid expression error
label_values(domain_name)[0]
// 2 method, gives invalid expression error
label_values(domain_name[0])
那我该怎么做?
这里还附有屏幕截图。
答案 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])
示例用法