在/ metrics页面上,我有类似于
的字符串 my_metric{controller="cont_a",action="act_a",le="1"} 5
my_metric{controller="cont_a",action="act_b",le="1"} 4
my_metric{controller="cont_b",action="act_c",le="1"} 3
my_metric{controller="cont_b",action="act_d",le="1"} 2
在我的Grafana仪表板上,我想看到两个变量:controller
和action
。如果我仅通过label_values(controller)
和label_values(action)
之类的查询来定义它们,它们将是独立的,这意味着如果选择了控制器"cont_a"
,则所有4个动作都将可用。
但是我想使操作变量与控制器变量相关,因此,如果选择了控制器"cont_a"
,则只有值"act_a"
和"act_b"
可用于操作变量。并且如果选择了"cont_b"
,则只有"act_c"
和"act_d"
。
是否可以通过这种方式配置Grafana仪表板?
答案 0 :(得分:2)
在Grafana仪表板中可能有因变量。例如,假设在变量$instance
上有一个实例列表,这些实例来自Prometheus中的up
度量。我们可以使用Grafana的label_values
函数将其设置为查询:
label_values(up, instance)
现在,如果要使用第二个变量,该变量包含取决于所选实例的作业列表,则可以使用以下查询。
label_values(up{instance=~"$instance"}, job)
在这种情况下,我们使用已经定义的$instance
变量来填充第二个变量(作业列表)的选项。
您可以see here这种方法的有效示例。