获取普罗米修斯标签的因变量
Dependent variables to get prometheus labels
在我的 /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仪表板吗?
在 Grafana 仪表板中可以有因变量。例如,假设在变量 $instance
上,我们有一个来自 Prometheus 中 up
指标的实例列表。我们可以使用 Grafana 中的 label_values
函数将其设置为查询:
label_values(up, instance)
现在,如果我们要有第二个变量,其中包含取决于所选实例的作业列表,我们可以使用以下查询。
label_values(up{instance=~"$instance"}, job)
在这种情况下,我们使用已经定义的 $instance
变量来填充第二个变量(工作列表)的选项。
您可以see here此方法的工作示例。
在我的 /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仪表板吗?
在 Grafana 仪表板中可以有因变量。例如,假设在变量 $instance
上,我们有一个来自 Prometheus 中 up
指标的实例列表。我们可以使用 Grafana 中的 label_values
函数将其设置为查询:
label_values(up, instance)
现在,如果我们要有第二个变量,其中包含取决于所选实例的作业列表,我们可以使用以下查询。
label_values(up{instance=~"$instance"}, job)
在这种情况下,我们使用已经定义的 $instance
变量来填充第二个变量(工作列表)的选项。
您可以see here此方法的工作示例。