所有带有前缀的普罗米修斯指标的Grafana变量

Grafana variable for all prometheus metrics with prefix

我想要一个 Grafana variable,其中包含具有给定前缀的所有 Prometheus 指标名称。我想这样做,这样我就可以通过下拉菜单控制显示哪些图表。我希望能够显示与前缀匹配的所有指标,而不必为每个指标创建查询。在 Prometheus 数据源下的 Grafana 文档中我看到:

metrics(metric) Returns a list of metrics matching the specified metric regex.

-- Using Prometheus in Grafana

我尝试使用此 metrics 函数在 Grafana 中创建一个变量,但没有成功。查看我的变量设置的屏幕截图:

设置

如您所见,"Preview of values" 仅显示 "None"

在 promql 中,您可以使用内部 __name__ 标签按名称 select 指标:

{__name__=~"mysql_.*"}

然后,您可以使用 query label_values():

重用它来提取指标名称
label_values({__name__=~"mysql_.*"},__name__)

这将使用以 mysql_ 开头的指标名称填充您的变量。

您可以使用 metrics() 获得相同的结果;我不知道为什么它对你不起作用(它应该也适用于前缀):

metrics(mysql_)