如何使用 Prometheus 作为数据源使用变量引用另一个变量来制作 Grafana 模板?

How can I make a Grafana template with a variable reference another variable using Prometheus as a datasource?

我有一个 Grafana 仪表板,其中包含 servicesinstances 的模板变量。当我 select 服务时,如何让它根据第一个模板变量列表过滤第二个模板变量列表?

您可以在第二个变量查询中引用第一个变量。不过,我不确定是否可以使用 label_values 助手。

第一个变量
查询:up
正则表达式:/.*app="([^"]*).*/

第二个变量:
查询:up{app="$app"}
正则表达式:/.*instance="([^"]*).*/

label_values 使用变量工作得很好。例如:

label_values(cassandra_keyspace_readlatency_count{product="$product"}, keyspace)

****变量 1(从指标中获取标签,以下面结尾):**

名称:实例

标签:实例

类型:查询

查询:label_values({name=~".*jvm_JvmMetrics_MemNonHeapUsedM"}, instance)

****变量 2(取决于变量 1)**:

姓名:task_name

标签:task_name

类型:查询

查询:label_values({名称=~".*jvm_JvmMetrics_MemNonHeapUsedM",instance=~"$instance"},task_name)

多个值的符号“~”