我在不同的命名空间中运行我们应用程序的不同版本,并且我已经设置了一个 prometheus 和 grafana 堆栈来监控它们。我使用下面的 promql 来获取不同 pod 的 cpu 使用率(占 1 个核心的百分比),它返回的值与我从以下位置获得的值匹配kubectl top pods -n namespace
:
sum (rate (container_cpu_usage_seconds_total{id!="/",namespace=~"$Namespace",pod=~"^$Deployment.*$"}[1m])) by (pod)*100
问题是我想获取命名空间集群范围内所有 pod 的总 cpu 使用率,我尝试了不同的查询,但它们返回的值与我从上述 promql 或kubectl top pods -n namespace
.
我尝试过的 promql 查询:
sum (rate (container_cpu_usage_seconds_total{namespace=~"$Namespace",pod=~"^$Deployment.*$"}[1m])) by (namespace)
sum (rate (container_cpu_usage_seconds_total{namespace=~"$Namespace",pod=~"^$Deployment.*$"}[1m]))
我正在Singlestat
为此使用,并且在visualization
从Value
部分中我尝试了不同的show
方法,例如平均,总计,当前但未返回正确的值。
我的问题是如何获得命名空间集群范围内所有 pod 的总 cpu 使用率?