prometheus-promQL

运算 Value
+ 加法
- 减法
* 乘法
/ 除法
% 求余
^ 幂运算
== 相等
!== 不相等
> 大于
< 小于
>== 大于等于
<== 小于等于
and 并且
or 或者
unless 排除
以MB方式获取当前主机空闲内存空间
node_memory_free_bytes_total / (1024 * 1024)
磁盘读+写计算磁盘io的byte数值
node_disk_written_bytes_total + node_disk_read_bytes_total 
计算空闲内存百分比(总-空闲 / 总)
(node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes
计算空闲内存百分比并大于0.95
(node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes > 0.95
http返回大于30并使用布偶0/1表示,0表示不满足 1表示满足
prometheus_http_requests_total > bool 30

rate()函数: 计算每秒平均增长率 范围向量中的时间序列(每秒)

表示每个时间序列5分钟内http每秒的增长率
rate(prometheus_http_requests_total[5m])

irate()函数: 通过区间中最后两个两本数据来计算区间向量的增长速率

表示时间序列5分钟内最后两个样本数据http每秒的增长率
irate(prometheus_http_requests_total[5m])

increase()函数: 获取区间向量中的第一个和最后一个样本并返回其增长量(每分钟)

1分钟内request的增长率
increase(prometheus_http_requests_total[1m])

sum()函数: 求和操作

表示对整个http样本求和
sum(prometheus_http_requests_total)

表示对整个http样本求和并*显示* 指定by () 后面的标签
sum(prometheus_http_requests_total) by (code)

表示对整个http样本求和并*移除* 指定without () 后面的标签
sum(prometheus_http_requests_total) without (code)

avg()函数: 总返回组值的平均值

获取主机=109每核cpu平均值
avg(node_cpu_seconds_total{instance='10.1.74.109:9100'}) without (cpu)

avg_over_time()函数: 区间向量内每个度量指标的平均值

每条返回请求的平均值,avg是总的一个平均
avg_over_time(prometheus_http_requests_total[1h])

count()函数: 计数

获取主机=109 磁盘为vd开头的数量
count(node_disk_read_bytes_total{device=~"vd.*",instance='10.1.74.109:9100'}) by (device)

topk()函数: 最大排序

返回文件系统最大的2序列
topk(2,node_filesystem_size_bytes)

bottomk()函数: 最小排序

返回文件系统最小的3序列
bottomk(3,node_filesystem_size_bytes)

vector()函数: 将标量 作为没有标签的向量返回
scalar()函数: 返回一个单元素瞬时向量的样本值
sort()函数: 升序

空闲内存升序
sort(node_memory_MemFree_bytes)

sort_desc()函数: 降序

空闲内存将序
sort_desc(node_memory_MemFree_bytes)

ceil()函数: 四舍五入为整数

将cpu各种时间占用空间表示为整数
ceil(node_cpu_seconds_total)

time()函数: 返回时间戳
minute()函数: 返回当前小时的多少分钟
hour()函数: 返回给定时间一天的小时
month()函数: 返回当前月份
year()函数: 返回当前年份
day_of_month()函数: 返回当前月份第几天1-31
day_of_week()函数: 返回当前所在周的第几天0-7

你可能感兴趣的:(prometheus,prometheus)