kubernetes 使用Prometheus计算命名空间中pod的CPU使用率

wlzqhblo  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(216)

如何获取命名空间中Pod的CPU使用率?我在Grafana设置上的初始 Jmeter 板看起来像这样-x1c 0d1x
我正在尝试查询,查询的结果是所选集群中所选namespace的所选pod的CPU使用情况。设法找到下面的一个,但它返回“No data”。

sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{pod="$pod", namespace="$namespace"})

字符串
我哪里做错了?

bxpogfeg

bxpogfeg1#

如果你想计算每个pod的工作负载CPU利用率,以CPU的使用秒数为单位,你可以使用这个PromQL查询:

sum(rate(container_cpu_usage_seconds_total{namespace="$namespace",
  pod_name=~"$podName",container_name!=""}[1m])) by (pod_name)

字符串
其中:

  • container_cpu_usage_seconds_total(),它给出了CPU被占用的时间
  • rate()计算范围向量中时间序列的每秒平均增长率
  • [1m]以定义的1分钟间隔读取值
  • sum() by (pod_name)添加包含相同pod名称的所有值,这在同一pod中有多个容器的情况下是必要的
  • namespace="$namespace",pod_name=~"$podName",container_name!=""应用该条件以使pod考虑并过滤其余内容

如果要计算每个pod的工作负载内存利用率,可以使用以下查询:

sum(container_memory_working_set_bytes{namespace="$namespace",
  pod_name=~"$podName", container_name!=""}) by (pod_name)

相关问题