grafana与prometheus的动态下拉值

grafana与prometheus的动态下拉值,grafana,prometheus,grafana-templating,Grafana,Prometheus,Grafana Templating,这可能很简单,我遗漏了一些东西 我有一个由普罗米修斯支持的格拉法纳仪表盘。普罗米修斯在两个不同的库伯尼特斯星系群中运行 我想要的是第一个下拉列表是集群——比如A和B。根据我在第一个下拉列表中选择的内容,我想要在第二个下拉列表中填充值。在我的例子中,第二个下拉列表是label_值 第一个下拉列表由变量datasource定义,类型为datasource,数据源选项的类型为prometheus 对于第二个下拉列表,我有变量service,type=Query 在查询选项中,我将查询定义为label_

这可能很简单,我遗漏了一些东西

我有一个由普罗米修斯支持的格拉法纳仪表盘。普罗米修斯在两个不同的库伯尼特斯星系群中运行

我想要的是第一个下拉列表是集群——比如A和B。根据我在第一个下拉列表中选择的内容,我想要在第二个下拉列表中填充值。在我的例子中,第二个下拉列表是label_值

第一个下拉列表由变量
datasource
定义,类型为datasource,数据源选项的类型为prometheus

对于第二个下拉列表,我有变量
service
,type=Query

在查询选项中,我将查询定义为label_values(rt),但它给出了所有标签的值,而与我在第一个下拉列表中选择的集群无关


非常感谢您的帮助。

您需要在查询第二个模板变量时使用第一个模板变量的值。也就是说,假设集群和服务的度量标签实际上分别是
集群
服务
,那么您应该将模板变量查询定义为:

cluster: label_values(up, cluster)
service: label_values(up{cluster="$cluster"}, service)

每当您更改第一个下拉列表中的选择时,这将自动填充第二个下拉列表。

我有一个变量数据源:type=datasource,label=Cluster,Data source options.type=Prometheus。我想要动态填充的变量是service。所以根据您的建议,我确实命名为:服务,类型:查询查询选项:数据源=$datasourcequery=label_值(up{datasource=“$datasource”},service),但它不起作用。顺便说一句,怎么了?数据源模板变量允许您在多个数据源(即多个Prometheus实例)之间进行选择。你绝对不需要那个。您需要的是两个查询变量,如上所述设置:一个将为您提供集群下拉列表,另一个提供服务。事实上,我有多个prometheus实例,每个集群中都有一个,并且我所有的度量都没有标签集群。我基本上是使用数据源的名称作为集群名称。在这种情况下,保留datasource变量,但不要将其用作标签选择器,因为我认为您的度量实际上没有
datasource
cluster
标签。只需确保您的
服务
模板变量和所有面板都使用
$datasource
作为其数据源。