rate lalu sum YES, sum lalu rate NO
(robustperception.io)- Saat menangani counter di Prometheus, ada hal yang mudah keliru ketika menerapkan fungsi khusus counter seperti
ratedan agregasi - Di Prometheus, counter hanya bisa: "bertambah", "tetap", atau "direset"
- Saat ingin menghitung laju permintaan per detik dari Node Exporter, kita bisa menulis kueri seperti berikut?
sum by (job)(rate(http_requests_total{job="node"}[5m]))
- Lalu? Bagaimana dengan kueri berikut?
rate(sum by (job)(http_requests_total{job="node"})[5m])- Kueri ini bermasalah
- Jika suatu node direstart, maka
http_requests_totaldari Node Exporter di atas node tersebut akan direset ke 0- Maka nilai total
sum(...)akan menurun rate()akan menganggap counter telah direset, sehingga muncul spike yang keliru- *jika nilainya turun dari n menjadi n-a, dari sudut pandang rate nilainya akan terlihat melonjak sebesar (n-a)
- Maka nilai total
- Karena itu...
rate(counter_a[5m] + counter_b[5m])seperti ini NOrate(counter_a[5m]) + rate(counter_b[5m])seperti ini YES
- Ini berlaku bukan hanya untuk
sum(), tetapi juga untukmin(),max(),avg(),ceil(),histogram_quantile(),predict_linear()dan sejenisnya - Selain
rate(), fungsi untuk counter juga mencakupirate(),increase(), danresets()
Ringkasan bertanda * adalah penjelasan tambahan yang tidak ada di naskah asli, sehingga ditandai terpisah.
Belum ada komentar.