rate फिर sum YES, sum फिर rate NO
(robustperception.io)- Prometheus में counter को संभालते समय,
rateजैसे सिर्फ counter के लिए बने functions और aggregation को साथ में इस्तेमाल करते हुए गलती करना आसान है - Prometheus में counter सिर्फ
बढ़सकता है,जैसा है वैसा रहसकता है, याresetहो सकता है - अगर आप Node Exporter का प्रति-सेकंड request rate निकालना चाहते हैं, तो क्या आप यह query लिख सकते हैं?
sum by (job)(rate(http_requests_total{job="node"}[5m]))
- लेकिन? यह query कैसी है?
rate(sum by (job)(http_requests_total{job="node"})[5m])- इस query में समस्या है
- मान लीजिए कोई node restart हो गया, तो उस node पर Node Exporter का
http_requests_total0 पर reset हो जाएगा- तब पूरे
sum(...)का मान कम हो जाएगा rate()इसे counter reset समझेगा, और गलत spike पैदा होगा- *अगर मान n से n-a तक गिरता है, तो
rateके नज़रिए से यह (n-a) जितना उछाल दिखेगा
- *अगर मान n से n-a तक गिरता है, तो
- तब पूरे
- इसलिए...
rate(counter_a[5m] + counter_b[5m])इस तरह करना NOrate(counter_a[5m]) + rate(counter_b[5m])इस तरह करना YES
- यह बात सिर्फ
sum()पर नहीं, बल्किmin(),max(),avg(),ceil(),histogram_quantile(),predict_linear()जैसी चीज़ों पर भी लागू होती है - counter के लिए
rate()के अलावाirate(),increase(),resets()जैसे functions भी हैं
* लगे हुए सारांश मूल लेख में नहीं थे; उन्हें अलग से चिह्नित किया गया है.
अभी कोई टिप्पणी नहीं है.