PromQL/Victoria 指标 - 乘以不同分辨率的时间序列

PromQL/Victoria Metrics - multiply time series with different resolutions

我有一个关于 promql 级数乘法的问题。 我有 2 个时间序列,它们有不同的采样(5 分钟和 15 分钟)。 我需要使它们具有相同的分辨率,乘法和求和

类似于:

WITH (
  filter1= {testID=~"test2"},
  metric0 = myMetric1{filter1},
  metric1 = myMetric2{filter1}
)
sum_over_time(metric0[15m]*metric0[15m])&step=1h

这不起作用,但输出将是:

这可能吗?

谢谢!

尝试以下 MetricsQL 查询:

with (
  filter = {testID=~"test2"},
  metric1 = myMetric1{filter},
  metric2 = myMetric2{filter},
)
sum_over_time((metric1 * metric2)[1h:15m])

此查询依赖于 Prometheus subqueries 使 metric1 和 metric2 达到相同的分辨率 - 在对过去一小时的乘法求和之前的 15 分钟。

请注意,预计与 metric1 和 metric2 匹配的时间序列具有相同的标签集。否则将返回空结果。如果不是这种情况,则乘法可能需要额外的修饰符,例如 on、ignoring、group_left 或 group_right - 有关详细信息,请参阅 https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching