首页 > 解决方案 > 我可以将查询/过滤器应用于仪表板级别的所有面板查询吗?

问题描述

我有一个 Prometheus 服务器,它从多个软件安装中收集指标。每次安装都将标签“客户”和“系统”应用于 Prometheus 重新标记阶段的所有指标,并且我有一个使用模板变量的 Grafana 仪表板$Customer$System因此我的仪表板显示单个客户系统的图表。

例如,我可以选择“Google/Test”或“Microsoft/Live”组合。

这意味着我所有的查询都是my_counter_total{Customer='$Customer', System='$System'}相当累人的。无论如何都可以{Customer='$Customer', System='$System'}在仪表板级别应用于所有查询?Grafana 文档提示它可以完成,但没有说明如何完成,而且我找不到一个示例。

编辑:如前所述,“临时查询”似乎能够做到这一点,但整个文档是:

Ad hoc 过滤器是可用的最复杂和最灵活的变量选项之一。此变量允许您构建仪表板范围的即席查询,而不是常规的变量选项列表。您以这种方式应用的过滤器将应用于仪表板上的所有面板。

所以他们告诉我这很复杂,让我挂了 :)

标签: prometheusgrafana

解决方案


您可以使用“Ad hoc filter”变量来做到这一点。

  1. 转到仪表板设置>变量>新建

  2. 填写类似以下示例的选项,然后单击添加

在此处输入图像描述

  1. 在此示例中,名为“Disk”的 Ad hoc 过滤器变量将显示在您的仪表板中:

在此处输入图像描述

  1. 您可以选择要在此过滤器中使用多少个标签/值对表达式。在下面的示例中,它被选择为“mountpoint=/home/cds/tool/bitbucket”,因此神奇地只显示了具有此安装点的磁盘:

在此处输入图像描述

注意:“mountpoint=/home/cds/tool/bitbucket”将自动用于仪表板中所有窗格的所有查询表达式。

在此处的 Grafana 文档中查看更多详细信息。


推荐阅读