prometheus监控k8s节点服务器常用指标
原创
©著作权归作者所有:来自51CTO博客作者风山渐1的原创作品,请联系作者获取转载授权,否则将追究法律责任
node_exporter
系统运行时间
现在的时间戳 减去 开机时的时间戳,返回的是秒
time() - node_boot_time_seconds{instance="192.168.44.10:9100"}
time()
函数返回从 1970-01-01 到现在的秒数。注意:它不是直接返回当前时间,而是时间戳
cpu数量
count(count(node_cpu_seconds_total{instance="192.168.44.10:9100", mode='system'}) by (cpu))
总内存
node_memory_MemTotal_bytes{instance="192.168.44.10:9100"}
cpu使用率
100 - (avg(irate(node_cpu_seconds_total{instance="192.168.44.10:9100",mode="idle"}[5m])) * 100)
cpu iowait
avg(irate(node_cpu_seconds_total{instance="192.168.44.10:9100",mode="iowait"}[5m])) * 100
内存使用率
(1 - (node_memory_MemAvailable_bytes{instance="192.168.44.10:9100"} / (node_memory_MemTotal_bytes{instance="192.168.44.10:9100"})))* 100
打开的文件描述符
node_filefd_allocated{instance="192.168.44.10:9100"}
磁盘分区使用率
(1 - (node_filesystem_avail_bytes{instance="192.168.44.10:9100",mountpoint="/"} / node_filesystem_size_bytes{instance="192.168.44.10:9100",mountpoint="/"})) * 100
系统负载
1分钟、5分钟、15分钟 平均负载
node_load1{instance="192.168.44.10:9100"}
node_load5{instance="192.168.44.10:9100"}
node_load15{instance="192.168.44.10:9100"}
内存
# 总内存
node_memory_MemTotal_bytes{instance="192.168.44.10:9100"}
# 有效内存
node_memory_MemAvailable_bytes{instance="192.168.44.10:9100"}
# 剩余内存
node_memory_MemTotal_bytes{instance="192.168.44.10:9100"} - node_memory_MemAvailable_bytes{instance="192.168.44.10:9100"}
# 内存使用率
100 - (node_memory_MemAvailable_bytes{instance="192.168.44.10:9100"} / node_memory_MemTotal_bytes{instance="192.168.44.10:9100"} * 100)
磁盘读写次数/秒
Reads completed: 磁盘每秒读完成次数
Writes completed: 磁盘每秒写完成次数
IO now 磁盘每秒正在处理的输入/输出请求数
# sda 每秒读完成次数
irate(node_disk_reads_completed_total{instance="192.168.44.10:9100",device="sda"}[1m])
# sda 每秒写完成次数
irate(node_disk_writes_completed_total{instance="192.168.44.10:9100",device="sda"}[1m])
# 正在处理的输入/输出请求数
node_disk_io_now{instance="192.168.44.10:9100",device="sda"}
磁盘读写量/秒
Read bytes 每个磁盘分区每秒读取的比特数
Written bytes 每个磁盘分区每秒写入的比特数
# 读字节数
irate(node_disk_read_bytes_total{instance="192.168.44.10:9100",device="sda"}[1m])
# 写字节数
irate(node_disk_written_bytes_total{instance="192.168.44.10:9100",device="sda"}[1m])
网卡带宽
这里将计算的结果 * 8 ,转化为带宽单位bps
# 接收带宽
irate(node_network_receive_bytes_total{instance="192.168.44.10:9100",device="ens33"}[1m])*8
# 发送带宽
irate(node_network_transmit_bytes_total{instance="192.168.44.10:9100",device="ens33"}[1m])*8
TCP连接
CurrEstab - 当前状态为 ESTABLISHED 或 CLOSE-WAIT 的 TCP 连接数
ActiveOpens - 已从 CLOSED 状态直接转换到 SYN-SENT 状态的 TCP 平均连接数(1分钟内)
PassiveOpens - 已从 LISTEN 状态直接转换到 SYN-RCVD 状态的 TCP 平均连接数(1分钟内)
TCP_alloc - 已分配(已建立、已申请到sk_buff)的TCP套接字数量
TCP_inuse - 正在使用(正在侦听)的TCP套接字数量
TCP_tw - 等待关闭的TCP连接数
# CurrEstab
node_netstat_Tcp_CurrEstab{instance="192.168.44.10:9100"}
# TCP_tw
node_sockstat_TCP_tw{instance="192.168.44.10:9100"}
# ActiveOpens
irate(node_netstat_Tcp_ActiveOpens{instance="192.168.44.10:9100"}[1m])
# PassiveOpens
irate(node_netstat_Tcp_PassiveOpens{instance="192.168.44.10:9100"}[1m])
# TCP_alloc
node_sockstat_TCP_alloc{instance="192.168.44.10:9100"}
# TCP_inuse
node_sockstat_TCP_inuse{instance="192.168.44.10:9100"}