我在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。
答案 0 :(得分:1)
我建议使用query_result(count by (somelabel)(count_over_time(some_metric[$__range])))
,然后使用正则表达式提取所需的标签值。
我在这里使用count不太重要,更多的是我使用了over_time函数,然后进行汇总。