2016-05-31 100 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」功能將自動處理這種計數器重置。 –

相關問題