我为 Prometheus 表达式定义了一个记录规则。
规则 -rule:my_recording_rule
表达式 -sum by(foo) (increase(some_metric{}[4w]))
该记录规则每 15 秒包含一次数据。因此,如果我们花 1 分钟,就会记录 4 个数据点。
我想获得该记录规则中的总数据点数。
我试过count(rule:my_recording_rule)
了,但它只给了我列出的时间序列数。
我想获取每个时间序列的数据点数。
我为 Prometheus 表达式定义了一个记录规则。
规则 -rule:my_recording_rule
表达式 -sum by(foo) (increase(some_metric{}[4w]))
该记录规则每 15 秒包含一次数据。因此,如果我们花 1 分钟,就会记录 4 个数据点。
我想获得该记录规则中的总数据点数。
我试过count(rule:my_recording_rule)
了,但它只给了我列出的时间序列数。
我想获取每个时间序列的数据点数。
您需要使用count_over_time函数。例如,以下查询将返回每个时间序列在最后一小时内的原始样本数,some_metric
名称为:
count_over_time(some_metric[1h])
如果您需要对匹配时间序列的数据点求和,则只需将查询包装到sum中:
sum(count_over_time(some_metric[1h]))