prometheus PromQL 内置函数

1. increase 函数

该函数只能作用于计数器类型(counters),只增不减

计算磁盘的IO延迟

increase(node_disk_io_time_ms{host_ip=~".+"}[2m]) / (increase(node_disk_reads_completed[2m]) + increase(node_disk_writes_completed[2m])) * 1000

分析

(1) increase(node_disk_writes_completed[2m],采集node_disk_writes_completed两分钟的数据,若metric每一分钟采集一次,,即两个values

(2) increase用获取的最后一个value减去获取的第一个value,即increase(node_disk_writes_completed[2m]的最终值

(3) 该表达式有个问题,若(increase(node_disk_reads_completed[2m]) + increase(node_disk_writes_completed[2m])) 的值为0,则可能导致数据显示断点,workaround方式如下

increase(node_disk_io_time_ms{host_ip=~".+"}[2m]) / (increase(node_disk_reads_completed[2m]) + increase(node_disk_writes_completed[2m])>0) * 1000 or (increase(node_disk_reads_completed[2m]) + increase(node_disk_writes_completed[2m])) > bool 0

当然,可能还有更符合规范的写法

2.irate 函数

该函数只能作用于计数器类型(counters),只增不减

计算ceph osd iops write

sum(irate(ceph_osd_op_w[2m]))

分析

(1) irate取指定时间范围内最近两个value相减,结果如下

{ceph_daemon="osd.0",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	14.666666666666666
{ceph_daemon="osd.1",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	17.7
{ceph_daemon="osd.2",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	5.133333333333334
{ceph_daemon="osd.3",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	21.2
{ceph_daemon="osd.4",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	9.9
{ceph_daemon="osd.5",instance="ceph-exporter",job="ceph-mon",kubernetes_name="ceph-mon",kubernetes_namespace="ceph"}	19.833333333333332

(2) sum用于聚合,结合后的结果如下

{}	85.46951565052169

3.rate 函数

该函数只能作用于计数器类型(counters),只增不减

计算CPU使用率

rate(container_cpu_usage_seconds_total[5m])

分析

(1) 与irate不同,rate计算的是指定时间范围内所有value,算出一组速率,然后求平均值,即显示的图形比较平稳

 

后期待续

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值