如何为普罗米修斯数据源提供具有时间范围的grafana变量中的label_values?

时间:2018-10-12 10:55:07

标签: grafana prometheus

我在grafana中使用了一个看起来像这样的变量: label_values(some_metric, service)

如果当前数据源未发出度量标准,则变量值不适用于图表。在我的情况下,该变量是发行版名称,并且grafana的所有图表都依赖于此变量。

我监视的服务器崩溃后,未发出该指标。即使我将时间范围设置为与发出度量标准的时间匹配,也不会产生影响,因为对变量的查询未考虑时间范围。

在Prometheus中,我可以使用查询查看指标的值: some_metric[24h]

在grafana中,这是无效的: label_values(some_metric[24h], service)

还根据documentation无效,无法为label_values提供$__range等。

如果我必须使用query_result来代替,如何以正确的方式编写上述无效的grafana查询,以便获得与label_values相同的结果? 还有其他方法吗?

数据源是Prometheus。

1 个答案:

答案 0 :(得分:1)

我建议使用query_result(count by (somelabel)(count_over_time(some_metric[$__range]))),然后使用正则表达式提取所需的标签值。

我在这里使用count不太重要,更多的是我使用了over_time函数,然后进行汇总。