普罗米修斯如何处理服务器上的计数器

时间:2016-05-31 14:25:14

标签: prometheus

我有文章,每篇文章我想要读数

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

现在服务器上的计数器都保存在redis \ memcached中,因此它们可以不时重置,所以一段时间后redis机器重启,服务器没有最后一个news_read_counter号码,如果我再从0开始< / p>

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

现在正在查看news_read_counter2 {id =&#34; 2000&#34;}图表我看到计数器被降到2,而文档说:

  

计数器是表示单个数字的累积指标   价值只会上升。

所以现在要跟踪news_read_counter我需要将数据保存到db中,然后我回到起始区域,我需要使用mysql来处理我的数据

这里是redis重新启动后的计数器图像: enter image description here

2 个答案:

答案 0 :(得分:6)

允许将计数器重置为0,因此无需在此处执行任何特殊处理。有关详细信息,请参阅http://www.robustperception.io/how-does-a-prometheus-counter-work/

建议您使用client library来处理所有这些问题。

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

答案 1 :(得分:6)

您通常不希望以示例中的方式查看计数器总数,因为一旦您尝试实际使用它,它就没有太大意义。

这个想法是,您想知道一段时间内的增长。例如,您是否想知道最近7天,本月到目前为止,最近30天等的文章浏览总数?

This answerthis article在解释所有这些方面做得很好,但是这里有一些示例。为了演示起见,我使用了一个名为walks_started_total的计数器。

问题

查询:`walks_started_total`

enter image description here

解决方案1 ​​

查看上周的总数:`increase(walks_started_total [1w])`

enter image description here

解决方案2

在1分钟内:`increase(walks_started_total [1m])`

enter image description here