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

Nee*_*hna 4 grafana prometheus

我在 grafana 中使用了一个变量,如下所示: label_values(some_metric, service)

如果当前时间数据源未发出指标,则变量值不可用于图表。在我的例子中,变量是版本名称,grafana 的所有图表都依赖于这个变量。

在我监控的服务器崩溃后,不会发出此指标。即使我设置了一个时间范围来匹配发出指标的时间,它也没有影响,因为对变量的查询没有考虑时间范围。

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

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

同样根据文档$__range为 label_values提供等是无效的。

如果我必须改用 ,我该query_result如何以正确的方式编写上述无效的 grafana 查询,以便获得与label_values? 有没有其他方法可以做到这一点?

数据源是普罗米修斯。

bri*_*zil 8

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

我在这里使用 count 并不太重要,更重要的是我使用了一个 over_time 函数然后聚合。