从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

prometheus语法

发布:蔺要红01-01分类: 监控

delta:
计算一个时间内的最后一条数据和第一条的数据的差值。
 
sum(delta(kafka_topic_partition_current_offset{instance=~'$instance', topic=~"$topic"}[5m])/5) by (topic)
 
 
rate:
rate(nginx_vts_server_requests_total{code!="total", app="blue_nginx", code="2xx", dept="st", env="prod", host="*", instance="10.172.10.11:9913", job="nginx_instance", project="toyota"}[1m])
 
nginx_vts_server_requests_total是一个增加的数,上面的语句意思是 在一分钟内 每秒的平均增量
 
 
 
increase:
increase(nginx_vts_server_requests_total{code!="total", app="blue_nginx", code="2xx", dept="st", env="prod", host="*", instance="10.172.10.11:9913", job="nginx_instance", project="toyota"}[1m])
 
上面的语句意思是 一分钟内的增加(增加了多少)
increase(foo[5m])/ (5 * 60) 等同于rate(foo[5m])
 
 
irate
即 "瞬时rate",此函数和rate()一样,计算每秒的增长率,但只对规定采样周期内的最后两个样本进行计算,而忽略前面所有样本。
例如:irate(http_requests_total[5m]) 选取规定5分钟窗口内的最后两个样本,并计算两者之间每秒的增长率。如果想让一个放大的图形显示出对rate变化的快速响应,那这个函数就很有用,它呈现的结果会比rate()的有更多的峰值。
 
 
sum求和
sum xxx by () 针对by里面的变量进行求和,比如
 
sum(irate(nginx_vts_server_requests_total{code!="total"}[5m])) by (code)
就是把所有code能取到的值做个求和,比如把所有2xx的加一块等
 
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站