所有带有前缀的 Prometheus 指标的 Grafana 变量

Str*_*s3D 9 grafana prometheus grafana-variable

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

metrics(metric) 返回与指定指标正则表达式匹配的指标列表。

--在 Grafana 中使用 Prometheus

我尝试使用此函数在 Grafana 中创建变量,metrics但它不起作用。请参阅我的变量设置的屏幕截图:

设置在此输入图像描述

如您所见,“值预览”仅显示“无”

Mic*_*bez 10

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

{__name__=~"mysql_.*"}
Run Code Online (Sandbox Code Playgroud)

然后,您可以重用它以使用查询 label_values()提取指标名称:

label_values({__name__=~"mysql_.*"},__name__)
Run Code Online (Sandbox Code Playgroud)

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

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

metrics(mysql_)
Run Code Online (Sandbox Code Playgroud)

  • 看起来我的语法错误。我正在做 `metrics(/mysql_*/)` 因为我认为它需要正则表达式,但 `metrics(mysql_)` 实际上做了我想要的。谢谢! (2认同)