Prometheus Can';t使用promethues自定义计数器查询准确的详细信息

Prometheus Can';t使用promethues自定义计数器查询准确的详细信息,prometheus,Prometheus,我试图查询自定义计数器promethues度量,但似乎找不到正确的查询。我想询问一下在最后一分钟发生的事件的数量。为此,我尝试了sum(增加(我的计数器[1m])以及sum(比率(我的计数器[1m])。两者似乎都没有给出准确的数值。我怎样才能查询它们呢。你无法从普罗米修斯那里得到准确的值(你所期望的) 直接的问题是ProMQ的increase()和rate()使用外推而不是实际可用的数据。有关详细信息,请参阅。有很多解决办法,但没有一个是理想的。(例如,您可以将所需间隔的增量加上scrape_i

我试图查询自定义计数器promethues度量,但似乎找不到正确的查询。我想询问一下在最后一分钟发生的事件的数量。为此,我尝试了
sum(增加(我的计数器[1m])
以及
sum(比率(我的计数器[1m])
。两者似乎都没有给出准确的数值。我怎样才能查询它们呢。

你无法从普罗米修斯那里得到准确的值(你所期望的)

直接的问题是ProMQ的
increase()
rate()
使用外推而不是实际可用的数据。有关详细信息,请参阅。有很多解决办法,但没有一个是理想的。(例如,您可以将所需间隔的增量加上
scrape_interval
,然后除以该间隔的长度并乘以所需间隔进行调整。)

更深层次的问题是别名,对此你无能为力。基本上,因为普罗米修斯每隔
x
seconds/minutes对你的计数器进行一次采样,所以除了采集这些样本的时间间隔外,你实际上无法知道任何时间范围内的增量。(当你要求普罗米修斯提供
速率(x[1m])
时,你实际上要求的是从现在到现在负1分钟的增加,这可能与收集到的任何样本都不一致。)更不用说网络延迟、负载等引起的抖动了

后一个问题不能作为PromQL实现
rate()
rease()
的借口,你应该能够得到比普罗米修斯给你的更好的数字。(同样,请参见上面链接的普罗米修斯问题。)