Jos*_*sto 15 monitoring metrics prometheus
在Counter和之间做出决定时Gauge,Prometheus 文档指出
在计数器和仪表之间进行选择,有一个简单的经验法则:如果值可以下降,它就是一个仪表。计数器只能上升(并重置,例如当进程重新启动时)。
它们似乎涵盖了重叠的用例:您可以使用只会增加的仪表。那么为什么要首先创建 Counter 指标类型呢?为什么不简单地将 Gauges 用于两者?
Mic*_*bez 20
从概念上看,gauge和counter有不同的用途
irate/rate(), increase()...这些演化操作需要对使用仪表无法实现的增加进行可靠计算,因为您需要检测值的重置。
从技术上讲,计数器有两个重要的属性:
如果应用程序在两次 Prometheus 刮擦之间重新启动,则第二次刮擦的值可能小于前一次刮擦,并且可以恢复增加(某种程度上因为您总是会丢失上次刮擦和重置之间的增加)。
计算从 t1 到 t2 之间的刮擦之间计数器增加的简单算法是:
counter(t2) >= counter(t1)那么increase=counter(t2)-counter(t1)counter(2) < counter(t1)那么increase=counter(t2)作为结论,从技术角度来看,您可以使用仪表而不是计数器,前提是您在启动时将其重置为 0 并且只增加它,但任何违反合同都会导致错误的值。
作为旁注,我还希望计数器实现使用无符号整数表示,而gauge 宁愿使用浮点表示。这对代码有一些小的影响,例如能够自动溢出到 0 以及更好地支持当前 CPU 上的原子操作。
dsc*_*tor 11
对此,一个敏锐的观察是:
Gauge背后的感觉是:
仪表适用
Iff SUM operation于measurements任何时间间隔没有意义
例如,如果哈勃太空望远镜正在观察brightness of every star它在天体扫描中观察到的温度之和,则不会产生任何有价值的信息。
同样对于bank-balance. 您每天的银行余额总和并不是一个有意义的财富指标。因此,请使用仪表 - 仪表中提供了间隔内的平均值。
fnrate()问题只是关于rate()fn 的技术问题,而不是关于仪表和计数器的问题。
罪魁祸首是rate()在检测重置方面过于聪明。似乎没有任何数学原因可以解释为什么simple-rate()不能在规范中完成。
| 归档时间: |
|
| 查看次数: |
8328 次 |
| 最近记录: |