【监控】Prometheus常用的查询语法(PromSQL)

介绍

PromSql是 Prometheus的数据库查询语法,可以方便的查找监控指标的值并且做一些数学运算帮助我们能快速和方便的去统计数据以及设置告警阈值

基础用法

<metric name>
例如:
http_requests_total

通过label可进行筛选,过滤指定标签的数据

<metric name>{<label name>=<label value>, ...}
例如:
http_requests_total{job="prometheus",group="canary"}

运算

(1)支持的算术运算符有 +,-,*,/,%,^

例如:
http_requests_total * 2 
将 http_requests_total 所有数据翻2倍。

(2)支持的比较运算符有 ==,!=,>,<,>=,<=,=~,!~

 例如:
http_requests_total > 100 
筛选http_requests_total 结果中大于 100 的数据。

http_requests_total{job=~".*server"}
筛选标签job以server结尾的数据

(3)支持的逻辑运算符有 and,or,unless,

例如:
http_requests_total == 5 or http_requests_total == 2 
筛选http_requests_total 结果中等于 5 或者 2 的数据。

常用函数

支持的聚合运算符有 sum,min,max,avg,stddev,stdvar,count,count_values,bottomk,topk,quantile,, 例如 max(http_requests_total) 表示 http_requests_total 结果中最大的数据
sum() 函数:求所有value的值和

sum(http_requests_total)

avg()函数: 求平均值

avg(http_requests_total)

max() 函数:找最大值

max(http_requests_total)

min() 函数:找最小值

min(http_requests_total)

rate()函数: 统计速率

rate(http_requests_total[5m])

by (标签名)

avg(http_requests_total) by (instance)   

delta 函数:计算一个范围向量v的第一个元素和最后一个元素之间的差值

delta(http_requests_total[5m])
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值