01
—
Counter指标类型
在prometheus客户端(比如golang、python、java等客户端)中,提供了4种核心的指标类型
Counter(计数器)
Gauge(仪表盘)
Histogram(直方图)
Summary(摘要)
本次分享主要是针对Counter类型,Counter就是一个计数器类型,是一种单调递增的指标,在没有发生重置的情况下,其样本值应该是不断的增大的。
比如我们访问prometheus服务端提供的metrics的url,会返回很多样本数据,其中process_cpu_seconds_total
就是一个Counter类型的,该样本数据表示prometheus服务端进程已经消耗了多少秒CPU的时间,该值会不断的增长,除非你重启了prometheus服务端。
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.# TYPE process_cpu_seconds_total counterprocess_cpu_seconds_total 90662.26
02
—
Counter的常用函数
rate(v range-vector)
irate(v range-vector)
increate(v range-vector)
它们都接受一个区间向量,然后返回一个瞬时向量。
03
—
什么是rate()和irate()
在开始使用rate()的时候,我其实还是蛮困惑的,网上搜了一通都说是平均增长率,这个时候我就很困惑,平均增长率?是每秒还是每分钟,那在rate前面加一个i的irate又有什么区别呢?今天就来彻底的做一个了断!
我们现在来看两句比较官网的解释:
rate:rate函数可以直接计算区间向量v在时间窗口内的平均增长速率;
irate:irate函数是PromQL针对长尾效应专门提供的灵敏度更高的函数,用于计算区间向量的增长速率,但是其反映出的是瞬时增长速率。
好了,我们忘记上面两句话。
接下来带大家看