1

如何在 MetricsQL 或 PromQL 中查询每个时间序列的最新值?

例如,查询为长范围metric_name返回两个时间序列:metric_name{job="foo"}metric_name{job="bar"}

{"metric":{"__name__":"metric_name","job":"foo"},"values":[.................. <long list>],
{"metric":{"__name__":"metric_name","job":"bar"},"values":[.................. <long list>]

有没有办法获得每个标签的最新值?因此该响应将仅包含两个时间戳——一个用于 job="foo",另一个用于 job="bar":

{"metric":{"__name__":"metric_name","job":"foo"},"values":[1510000000,123],
{"metric":{"__name__":"metric_name","job":"bar"},"values":[1610000000,321]
4

1 回答 1

1

你试过用last_over_time吗?

last_over_time(m[d]) - returns the last value for m on the time range d.

在此处查看有关 MetricsQL 的更多详细信息 - https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/MetricsQL

您可能希望使用/api/v1/query端点来获取即时查询结果。

于 2021-01-14T19:53:24.167 回答