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

时间:2017-01-20 22:10:09

标签: grafana prometheus

我有一个Grafana仪表板,其中包含servicesinstances的模板变量。当我选择一项服务时,如何根据第一个?

过滤第二个模板变量列表

3 个答案:

答案 0 :(得分:12)

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

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

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

enter image description here

答案 1 :(得分:0)

label_values使用变量可以很好地工作。例如:

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

enter image description here

答案 2 :(得分:0)

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

名称:实例

标签:实例

类型:查询

查询:label_values({名称 =〜“。* jvm_JvmMetrics_MemNonHeapUsedM”},实例)

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

名称:task_name

标签:task_name

类型:查询

查询:label_values({名称 =〜“。* jvm_JvmMetrics_MemNonHeapUsedM”,instance =〜“ $ instance”},task_name)

符号“〜”表示多个值