Prometheus-PromQL语法示例

promQL语法
1,!= 排除匹配

prometheus_http_requests_total{instance!="10.98.4.4:9090"} 

2,多个label使用,分隔,正则匹配多条使用 | 分隔

prometheus_http_requests_total{handler=~"/api/v1/query|/api/v1/metadata",instance="10.98.4.4:9090"}

3,按照时间匹配查询 s秒 m分钟 h小时 d天 w周 y年

prometheus_http_requests_tota #瞬时向量表达式,最新数据
prometheus_http_requests_total{}[5m] #区间向量表达式,当前时间为基准,5分钟内数据
prometheus_http_requests_total{}offset 5m #五分钟前数据
prometheus_http_requests_total{}[1d] offset 1d #前一天的区间向量

4,聚合表达式

sum(node_memory_MemTotal_bytes{instance="10.98.4.1:9100"}) #查询内存总和
avg(node_cpu_seconds_total) by (mode)  #按照mode计算主机cpu的平均使用时间

5,表达式运算

node_memory_MemTotal_bytes / (1024 * 1024 * 1024) #byte单位转换G
100 - (node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 34  #计算内存使用率列出大于34%的主机

6,使用修饰符

prometheus_http_requests_total > bool 1000 #列出请求列表,大于1000的值为1,小于为0

7,使用集合运算符

100 * (1 - avg (irate(node_cpu_seconds_total{mode='idle'}[5m])) by(instance))  #查询cpu使用率

8,聚合操作符
sum求和
min最小值
max最大值
avg平均值
stddev 标准差
stdvar 标准差异
count 计数
count_values 对value进行计数
bottomk 后n条时序
topk 前n条时序
quantile 分布统计

sum(prometheus_http_requests_total) without (instance) #从结果中移除instance标签
sum(prometheus_http_requests_total) by (instance,code) #只保留instance,code标签
sum(prometheus_http_requests_total{handler="/metrics"})  等同于 count_values("count",prometheus_http_requests_total{handler="/metrics"})  #计算请求中url出现次数
topk(5, prometheus_http_requests_total) #计算请求数url前5位,后面显示为数量

9,内置函数
increase 函数获取区间向量中的第一个后最后一个样本并返回其增长量
rate函数 直接计算区间向量v在时间窗口内平均增长速率
irate函数是通过区间向量中最后两个两本数据来计算区间向量的增长速率。

(1 - avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) by (instance)) * 100 #计算五分钟内平均增长速度的平均值CPU使用率
increase (node_cpu_seconds_total{mode="idle"}[2m]) / 120 等同于 rate(node_cpu_seconds_total{mode="idle"}[2m]) #node_cpu样本在最近两分钟的平均增长率
irate(node_cpu_seconds_total{mode="idle"}[2m]) #node_cpu样本在最近两分钟的平均增长率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背锅攻城师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值