获取普罗米修斯时间序列的数据点计数

Get Datapoint Count of a Prometheus Timeseries

我已经为 Prometheus 表达式定义了记录规则。

规则 - rule:my_recording_rule
表达式 - sum by(foo) (increase(some_metric{}[4w]))

该记录规则每 15 秒包含一次数据。所以如果我们花 1 分钟,就会记录 4 个数据点。

我想获取该记录规则中的总数据点数。

我试过 count(rule:my_recording_rule) 但它只给出了列出的时间序列数。

我想获取每个时间序列的数据点数。

您需要使用count_over_time功能。例如,以下查询将 return 每个时间序列最后一小时内的原始样本数 some_metric 名称:

count_over_time(some_metric[1h])

如果您需要对匹配时间序列中的数据点求和,则只需将查询包装到 sum:

sum(count_over_time(some_metric[1h]))