亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

prometheus 展示維度

標簽:
Go

prometheus有丰富的运算和函数,给我们带来了丰富的展现形式。

丰富的表达的好处

相比于一般的apm系统,prometheus的采集和展示是分开的。
例如一般的apm系统会采集gc的指标,一般会计算成gc次数,而不是gc总数。这样的好处是采集的数据和页面展示的数据一致,页面的压力很小,直接展示出数据库里的信息就行(这里一般都是时序数据库)。
prometheus提供了丰富的表达以后,就可以直接把gc总数采集过来,然后自己写表达式来展示。例如可以写5分钟的差值,也可以记录10分钟的差值,或者2分钟的速率等等。
这两者非常明显的一个区别是采集数据的类型。前者是已经计算好了的数据,例如程序就算好了2分钟的差值,然后就上报了,后者则是没有处理的原始数据,最后在引擎那边做统一处理,相当于写sql一样,随意的更改表达式,就可以展示出不一样的结果。

常用的表达式

  • 时间偏移
    针对同环比的需要,有的时候需要看一个周期内的对比,常见的这周的访问量和上周的对比。
http_requests_total offset 5m

offset后面跟着偏移量,这个是可以自己写的,prometheus对时间的表达和我们平常一样。

  • 计算差值
    delta计算一个时间内的最后一条数据和第一条的数据的差值。
delta(cpu_temp_celsius{host="zeus"}[2h])

这个计算会做线性的补全,例如数据是10分钟的一个点,你计算25分钟的一个差值,但是25分钟只有2个点,他会根据这两个点的情况,推断出25分钟的差值的情况。这个在表达的时候算是一个小坑点,我们经常计算1分钟的一个情况,往往会算出一个稍微多一些的不怎么合理的值,主要就是他的线性推断导致的。但是看趋势的话是不影响的,如果拿具体值就不怎么合适了。

idelta和delta类似,他计算的是一个时间段内的最后两个值的差值。这个使用的场景比较特殊,一般是根据时间来的,这个没有推断的过程,所以我们可以用来计算1个多采集周期的的结果,一个多,不到2个,这样就能避免上面的情况了。delta选2个周期的时候,其实是最多2个点,正好两个周期的间隔,那么最好的情况就是两个点分别在起始和最后,但是大部分情况是中间1个点,后面那个点的周期没到,为了保证一定能采集到2个点的话,一般那个时间会选择两个采集周期多一些,不到3个周期的时候,这样就保证了肯定不会采集到3个点的情况,那么就是有且只有2个点,因为不到3个周期,所以不会出现3个点,超过2个周期了,怎么画间隔都会包含2个点。
注意delta是有推断的,所以选择不到3个采集周期的时候,一定会存在推断的情况在里面,数据有预测值。idelta就避免了这个问题,不过暂时只有根据周期设置的用法,其他用法都不适合。尤其是4个周期的时候,还是算最好2个,前面的数据一点意义没有了。

  • 速率
    rate和delta的表达接近,但是是算速率的。下面就是5分钟内的http请求的速率。
rate(http_requests_total[5m])

这里大家也猜到了,这个表达是有推断的。所有只能用来看趋势
既然有rate,一定有irate,表达的含义也是一个时间段内的最后两个值的速率。
irate其实是可以用来算类似cpu使用率这种时间类型的,他的计算方式就是差值除以时间差。正好也是cpu使用率的表达式,cpu的指标为cpu使用时长,正好是使用率的计算。这个对所有时间型的都适用。

  • 平均值等
    xxx_over_time
    xxx
    以上的xx可以替换为avg,sum等
    这两个表达有个区别
    xxx_over_time是一个指标的一段时间的结果
    xxx则是一个指标名的一个时间点的所有值的结果
    前者是时间段,后者是时间点,前者是指标的部分,后面是指标名的部分。

常用的就这些,如果想仔细研究可以看官方文档
官方文档链接

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
1.6萬
獲贊與收藏
380

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消