prometheus监控k8s的pod
链接 https://www.cnblogs.com/fengjian2016/p/16969040.html
POD内存使用率
# Pod实际使用内存数 container_memory_rss
# 分配给Pod的内存配额 container_spec_memory_limit_bytes
# POD内存使用率
container_memory_rss{container="game-server",instance="$node"} / container_spec_memory_limit_bytes{container="game-server",instance="$node"} * 100
POD CPU使用率
# container累计使用的CPU时间,除以CPU的总时间,就得到了容器的CPU使用率 container_cpu_usage_seconds_total # container的配额,为容器指定的CPU个数*100000 container_spec_cpu_quota # POD的CPU使用率(空的,没有显示数据) 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
工作中是这么解决的
ceil((sum by (container,env,instance,department,business)(irate(container_cpu_usage_seconds_total{env="pre",container="game-server"}[10m])))*100)
POD CPU负载
container_cpu_load_average_10s{env="pre",container="game-server"}
sum by (container) (irate(container_cpu_usage_seconds_total{job="kubelet", namespace="$namespace", image!="", pod="$pod", container=~"$container", container!="POD"}[4m]))

浙公网安备 33010602011771号