如何使用 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 仪表板,其中包含 services
和 instances
的模板变量。当我选择一个服务时,如何让它根据第一个模板变量列表过滤第二个模板变量列表?
【问题讨论】:
【参考方案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 不提取数据库指标