önce rate, sonra sum; önce sum, sonra rate olmaz
(robustperception.io)- Prometheus'ta
counterile çalışırken,rategibi yalnızca counter için olan fonksiyonlar ile aggregation birlikte uygulanırken yapılması kolay bir hata var - Prometheus'ta
counteryalnızca "artabilir", "aynı kalabilir" ya da "sıfırlanabilir" - Node Exporter'ın saniye başına istek oranını bulmak istediğinizde şu sorguyu yazabilirsiniz?
sum by (job)(rate(http_requests_total{job="node"}[5m]))
- Peki ya şu sorgu?
rate(sum by (job)(http_requests_total{job="node"})[5m])- Bu sorguda bir sorun var
- Diyelim ki bir düğüm yeniden başlatıldı; o düğümdeki Node Exporter'ın
http_requests_totaldeğeri 0'a sıfırlanır- O zaman toplam
sum(...)değeri düşer rate(), bunun counter'ın sıfırlanması olduğunu düşünüp hatalı bir spike üretir- *değer n'den n-a'ya düşerse,
ratebunu kendi açısından (n-a) kadar bir sıçrama olmuş gibi görür
- *değer n'den n-a'ya düşerse,
- O zaman toplam
- Dolayısıyla...
rate(counter_a[5m] + counter_b[5m])yapmak NOrate(counter_a[5m]) + rate(counter_b[5m])yapmak ise YES
- Bu durum yalnızca
sum()için değil,min(),max(),avg(),ceil(),histogram_quantile(),predict_linear()gibi fonksiyonlar için de geçerli - Counter ile ilgili fonksiyonlar arasında
rate()dışındairate(),increase(),resets()de var
* işareti olan özet, özgün metinde olmayan ek bir açıklama olduğu için ayrıca belirtilmiştir.
Henüz yorum yok.