Prometheus监控K8S各项指标

临文乍了了,彻卷兀若无。这篇文章主要讲述Prometheus监控K8S各项指标相关的知识,希望能为你提供帮助。
一、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_totalmode="idle"[30m])) by (instance)

3、分区使用
nodenode_filesystem_size_bytes:各个分区总空间
【Prometheus监控K8S各项指标】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_totaldevice!~tap.*|veth.*|br.*|docker.*|virbr*|lo*[30m])*8

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

irate(node_network_transmit_bytes_totaldevice!~tap.*|veth.*|br.*|docker.*|virbr*|lo*[30m])*8

二、pod监控1、POD内存使用率
container_memory_rss : 是Pod实际使用内存数

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

sum(container_memory_rsscontainer!="POD",container!="alermanager",image!="",pod!="")by(pod) / sum(container_spec

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_totalimage!="",container!="POD",container!=""[1m])) by (pod,namespace) / (sum(container_spec_cpu_quotaimage!="",container!="POD",container!=""/100000) by (pod,namespace)) * 100

3、POD的文件系统使用量
sum(container_fs_usage_bytesimage!="",container!="POD",container!="") by(pod, namespace) / 1024 / 1024 / 1024




    推荐阅读