grafana 使用基于指标的普罗米修斯查询定义变量

Posted

技术标签:

【中文标题】grafana 使用基于指标的普罗米修斯查询定义变量【英文标题】:grafana define variable with prometheus query based on metrics 【发布时间】:2019-06-12 04:53:08 【问题描述】:

我对 Grafana 很陌生,所以这个问题可能很简单:

我尝试将度量值存储在变量中。因此,我使用 Prometheus 查询设置了一个变量:

metrics(passed_tests_totaljob="MyJob")

令我惊讶的是,该值返回值None,尽管存在带有该标签的度量值。我通过设置一个带有查询passed_tests_totaljob="MyJob" 的“singlestat”面板来验证这一点,它工作得非常好。

所以我的问题是:如何将度量值存储到变量中?

备注:我的做法是基于docu http://docs.grafana.org/features/datasources/prometheus/

【问题讨论】:

【参考方案1】:

如果您想检索指标的值,您应该使用query_result()metrics() 会为您提供匹配指标的名称,而不是值本身。

您的查询应该是:query_result(passed_tests_totaljob="MyJob")

仅提取指标值的正则表达式应该是/.* ([^\ ]*) .*/

【讨论】:

啊,明白了。看起来很明显:-)。 备注:我从文档中不清楚,metrics 给出了 names。在文档docs.grafana.org/features/datasources/prometheus 中写道:“返回与指定指标正则表达式匹配的指标列表。”

以上是关于grafana 使用基于指标的普罗米修斯查询定义变量的主要内容,如果未能解决你的问题,请参考以下文章

从 grafana 中的计数器指标计算值

在 Grafana 中呈现推送网关指标的最佳方式

Grafana - 在查询中使用自定义变量作为正则表达式

HTTP 客户端请求指标 prometheus grafana

如何在普罗米修斯中使用 relable_config 为指标添加前缀

Grafana 是不是可以根据另一个键值对变量映射普罗米修斯标签值?