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

Posted

技术标签:

【中文标题】如何使用 Prometheus 作为数据源制作带有变量引用另一个变量的 Grafana 模板?【英文标题】:How can I make a Grafana template with a variable reference another variable using Prometheus as a datasource? 【发布时间】:2017-06-06 00:05:34 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

【参考方案2】:

label_values 使用变量可以正常工作。例如:

label_values(cassandra_keyspace_readlatency_countproduct="$product", keyspace)

【讨论】:

这看起来像是一个更简洁的选项。谢谢@Firdousi Farozan【参考方案3】:

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

名称:实例

标签:实例

类型:查询

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

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

名称:任务名称

标签:任务名称

类型:查询

查询:label_values(name=~".*jvm_JvmMetrics_MemNonHeapUsedM",instance=~"$instance",task_name)

符号“~”表示多个值

【讨论】:

以上是关于如何使用 Prometheus 作为数据源制作带有变量引用另一个变量的 Grafana 模板?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Grafana 警报显示 Prometheus 标签

如何使用 Prometheus 查询不同的 mySQL 数据库进行业务监控

如何使用 Java prometheus sdk 创建带有标签的 Gauge 度量?

Spring boot 2 Prometheus 不提取数据库指标

如何制作一个检查按钮? (带有标签作为按钮的隐藏复选框:仅限 CSS)

如何在 Spring Boot 中为 prometheus 制作自己的指标