PromQL(Prometheus Query Language) 是 Prometheus 自己开发的数据查询 DSL 语言,语言表现力 非常丰富,支持条件查询、操作符,并且内建了大量内置函数,供我们针对监控数据的各种维度进行查 询。

https://prometheus.io/docs/prometheus/latest/querying/examples/

https://prometheus.io/docs/prometheus/latest/querying/operators/

https://prometheus.io/docs/querying/functions/

目标实例状态:
up #查看当前的一个实例以及实例的状态,1表示正常,0表示不正常
count(up) #查看当前实例的总数 count()计数函数


查询指标最新样本(称为瞬时向量):
node_cpu_seconds_total
可以通过附加一组标签来进一步过来这些时间序列:
node_cpu_seconds_total{job="Linux Server"}


查询指标近5分钟内样本(称为范围向量,时间单位 s,m,h,d,w,y):
node_cpu_seconds_total{job="Linux Server"}[5m]
node_cpu_seconds_total{job="Linux Server"}[1h]

查询cpu0除空闲利用率其他的资源利用率 != 不等于
node_cpu_seconds_total{cpu="0",mode!="idle"}



函数: • irate():计算指标在一定时间间隔内的变化速率
示例:
irate(node_cpu_seconds_total{job="Linux Server",mode="system"}[5m])

查询cpu0空闲利用率在5分钟内的一个变化速率值
irate(node_cpu_seconds_total{cpu="0",mode="idle"}[5m])
查询整个总的cpu空闲利用率在5分钟内的一个变化速率平均值 avg:平均值
avg(irate(node_cpu_seconds_total{mode="idle"}[5m]))
空闲cpu利用率
avg(irate(node_cpu_seconds_total{mode="idle"}[5m]))*100
使用的cpu利用率
100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m]))*100)
查询磁盘/分区空闲利用率
node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"}/node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"}*100
查看磁盘/分区使用率
100-(node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"}/node_filesystem_size_bytes{mountpoint="/",fstype=~"ext4|xfs"}*100)
查看192.168.0.12这台机器的几核cpu的空闲利用率和
sum(node_cpu_seconds_total{instance="192.168.0.12:9100",mode="idle"})
查看192.168.0.12这台机器的几核cpu除空闲利用率的和,也就是几核cpu使用率的和
sum(node_cpu_seconds_total{instance="192.168.0.12:9100",mode!="idle"})