Node监控

1.内存指标

node_memory_MemTotal_bytes: Node总内存大小

node_memory_MemAvailable_bytes:Node剩余可用内存

node已用的内存大小计算公式:

node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes

2.CPU

node_load1:CPU1分钟负载

node_load5:CPU5分钟负载

node_load15:CPU15分钟负载

CPU使用率计算公式:

1-avg(irate(node_cpu_seconds_total{mode="idle"}[30m])) by (instance)

3.分区使用

nodenode_filesystem_size_bytes:各个分区总空间

node_filesystem_avail_bytes:各分区剩余空间

4.磁盘I/O

node_disk_io_time_seconds_total:磁盘I/O操作耗费时间

每秒磁盘读取速度:

irate(node_disk_writes_completed_total[30m])

每秒磁盘写入速度:

irate(node_disk_written_bytes_total[30m])

每秒磁盘I/O操作耗费时间计算公式:

irate(node_disk_io_time_seconds_total[30m])

每次I/O读取耗时计算公式:

irate(node_disk_read_time_seconds_total[30m]) / irate(node_disk_reads_completed_total[30m])

每次I/O写入耗时计算公式:

irate(node_disk_write_time_seconds_total[30m]) / irate(node_disk_writes_completed_total[30m])

5.网络流量

网络流量下载统计计算公式:

irate(node_network_receive_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8

网络流量上传统计计算公式:

irate(node_network_transmit_bytes_total{device!~'tap.*|veth.*|br.*|docker.*|virbr*|lo*'}[30m])*8

Pod监控

1.POD内存使用率

container_memory_rss : 是Pod实际使用内存数

container_spec_memory_limit_bytes: 是分配给Pod的内存配额

sum(container_memory_rss{container!="POD",container!="alermanager",image!="",pod!=""})by(pod) / sum(container_spec_memory_limit_bytes{container!="",container!="POD"})by(pod) * 100 != +inf

2.POD的CPU使用率

container_cpu_usage_seconds_total:container累计使用的CPU时间,除以CPU的总时间,就得到了容器的CPU使用率

container_spec_cpu_quota:container的配额,为容器指定的CPU个数*100000

sum(rate(container_cpu_usage_seconds_total{image!="",container!="POD",container!=""}[1m])) by (pod,namespace) / (sum(container_spec_cpu_quota{image!="",container!="POD",container!=""}/100000) by (pod,namespace)) * 100

3.POD的文件系统使用量

sum(container_fs_usage_bytes{image!="",container!="POD",container!=""}) by(pod, namespace) / 1024 / 1024 / 1024

 

Logo

开源、云原生的融合云平台

更多推荐