编辑
2025-10-14
Prometheus
00
请注意,本文编写于 51 天前,最后修改于 51 天前,其中某些信息可能已经过时。

目录

一、 PromQL查询
查询所有主机节点的占用的内存
查询所有主机节点的CPU
查询所有主机节点的CPU,并进行过滤
查询所有主机节点的CPU,排除不要的
查询所有主机磁盘的信息
模糊匹配
二、常用函数
三、复杂的查询

一、 PromQL查询

查询所有主机节点的占用的内存

js
node_memory_Mapped_bytes

image.png

图形化界面查看 image.png

查询所有主机节点的CPU

js
node_cpu_guest_seconds_total

image.png

查询所有主机节点的CPU,并进行过滤

js
node_cpu_guest_seconds_total{instance="192.168.201.111:9100"}

这样就把该192.168.201.111:9100节点的cpu情况查询出来了 image.png

查询所有主机节点的CPU,排除不要的

js
node_cpu_guest_seconds_total{mode!="nice"}

这样就只有user的了 image.png

查询所有主机磁盘的信息

js
node_disk_info

image.png

模糊匹配

js
node_disk_info{instance=~"192.168.201.110.*"}

二、常用函数

rate(v range-vector)计算时间序列在范围向量中的每秒平均增长率。自动调整单调性中断(例如由于目标重启而重置的计数器)。此外,计算会延伸到时间范围的两端,允许错过抓取或抓取周期与范围时间周期的不完美对齐。

js
rate(node_cpu_guest_seconds_total{instance="192.168.201.111:9100"}[1m])

COUNT() 函数‌

‌用途‌:计算匹配标签的时间序列 ‌数量‌(统计序列条数)

‌本质‌:计数操作,‌不关心具体的指标数值

统计所有磁盘的数量(每个磁盘对应一条时间序列):

js
count(node_disk_info)

SUM() 函数‌

‌用途‌:对匹配时间序列的 ‌数值进行求和‌(计算总值)

‌本质‌:数值累加操作,‌要求指标必须是数值类型

计算所有磁盘的写入字节总量(累加每个磁盘的写入量):

js
sum(node_disk_written_bytes_total)

三、复杂的查询

内存使用率计算

js
(node_memory_MemTotal_bytes - node_memory_MemFree_bytes) / node_memory_MemTotal_bytes * 100

‌作用‌:计算‌已用内存百分比‌

‌公式‌:(总内存 - 空闲内存) / 总内存 * 100 image.png

内存可用率计算

js
node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100

作用‌:计算‌可用内存百分比‌

‌公式‌:(可用内存) / 总内存 * 100

image.png

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document