prometheus 监控的部分常用promsql的写法
程序员文章站
2022-06-04 19:14:46
...
prometheus监控promsql的常用的几个的写法
监控CPU的使用率
100 - (avg by (instance) (irate(node_cpu{instance="10.3.51.200:9100", mode="idle"}[1m])) * 100)
CPU各个mode的占用率
avg by (instance, mode) (irate(node_cpu{instance="10.3.51.200:9100"}[1m])) * 100
user:cpu花了多少比率运行用户态空间,也就是用户进程占比。用户空间程序是不属于内核的任何进程。
system:CPU花了多少比率运行内核空间。所有进程和系统资源都有liunx内核处理。
iowait:读写磁盘的操作比CPU的运行时间慢,CPU负载处理数据,而数据一般在磁盘上需要读到内存中才能处理。当CPU发起读写操作后,需要等着磁盘驱动器将数据读入内存,从而导致CPU等待一段时间无事可做。CPU处于这种状态的等待时间就是iowait时间。
idle:CPU处于空闲状态的时间比例
irq&softirq:处理器为中断服务的时间。irq用于硬件中断,softirq用于软件中断。
Nice:用户空间进程的CPU的调度优先级,可以通过调整期优先级来调整用户空间的优先级。
机器一分钟的平均负载
node_load1{instance="10.3.51.200:9100"}
内存使用率
100 - ((node_memory_MemFree{instance="10.3.51.200:9100"}+node_memory_Cached{instance="10.3.51.200:9100"}+node_memory_Buffers{instance="10.3.51.200:9100"})/node_memory_MemTotal) * 100
带宽监控
上行带宽
sum by (instance) (irate(node_network_receive_bytes{instance="10.3.51.200:9100",device!~"bond.*?|lo"}[1m])/128)
下行带宽
sum by (instance) (irate(node_network_transmit_bytes{instance="10.3.51.200:9100",device!~"bond.*?|lo"}[1m])/128)
入包量
sum by (instance) (rate(node_network_receive_bytes{instance="10.3.51.200:9100",device!="lo"}[1m]))
出包量
sum by (instance) (rate(node_network_transmit_bytes{instance="10.3.51.200:9100",device!="lo"}[1m]))
磁盘使用率
100 - node_filesystem_free{instance="10.3.51.200:9100",fstype!~"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|udev|none|devpts|sysfs|debugfs|fuse.*"} / node_filesystem_size{instance="10.3.51.200:9100",fstype!~"rootfs|selinuxfs|autofs|rpc_pipefs|tmpfs|udev|none|devpts|sysfs|debugfs|fuse.*"} * 100
平均请求数
rate(http_requests_total{instance="10.3.51.200:9100"}[1m])