2016-05-31 51 views
1

计数器我的文章和每篇文章我想看过计数普罗米修斯如何处理在服务器

# TYPE news_read_counter2 Counter 
news_read_counter2{id="2000"} 168 

现在服务器上的计数器都保存在Redis的\ memcached的,以便他们能够从时间重置时间,所以经过一段时间Redis的机器重新启动,并在服务器不要有最后news_read_counter号,如果我从零重新开始

# TYPE news_read_counter2 Counter 
news_read_counter2{id="2000"} 2 

现在看news_read_counter2 {ID =“2000”}图我看到计数器下降到2,而文档说:

计数器是一个累积度量,它表示一个只有数值上升的单个数字值 。

所以现在保持news_read_counter的轨道,我需要保存数据到数据库和我回,我需要使用MySQL来处理我的数据

这里的Redis的后计数器的图片开始区重新启动: enter image description here

回答

1

计数器被允许重置为0,所以没有必要做任何特殊的事情来处理它。有关更多详细信息,请参阅http://www.robustperception.io/how-does-a-prometheus-counter-work/

建议使用client library,这将为您处理所有这些。

此外,按照惯例,您应该使用_total作为后缀计数器,以便度量标准应为news_reads_total

+0

非常肯定普罗米修斯不适合我:)看到一些PHP客户端,他们只是写一切到本地MySQL这是有趣的原因,他们现在也需要规模MySQL来处理负载,我看到计数器可以重置为0但我的情况下,如果他们不总是插入0,如果计数器重置为零,并在Prometheus拉数据之前计数器增加就像我的例子它出错 –

+1

我给了它最后一次尝试很确定计数器坏了,我运行statsd_exporter发送它foo计数器增加到4,重新启动statsd_exporter发送它的计数器0然后+1期望看到计数器5,但我得到1的计数器,我也试过没有发送它0相同的东西 –

+1

这是正确的行为。 Prometheus中的“rate”功能将自动处理这种计数器重置。 –

相关问题