首页 > 解决方案 > 如何过滤 label_values(label) 的结果以获取与正则表达式匹配的标签列表?

问题描述

我有几个带有“服务”标签的指标。我想获取以“abc”开头并以“xyz”结尾的所有“服务”级别的列表。这些将是 grafana 模板变量的值。

这是我尝试过的: label_values(service) =~ "abc.*xyz"

但是,这会产生错误Template variables could not be initialized: parse error at char 13: could not parse remaining input "(service_name) "...

关于如何过滤标签值的任何想法?

标签: grafanaprometheuspromql

解决方案


这应该有效(替换up为您提到的指标):

label_values(up{service=~"abc.*xyz"}, service)

或者,如果您确实需要查看多个指标(假设出于某种原因,某些指标有一些服务标签值,而其他指标有其他值):

label_values({__name__=~"metric1|metric2|metric3", service=~"abc.*xyz"}, service)

推荐阅读