所有带有前缀的普罗米修斯指标的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_)
我想要一个 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_)