Prometheus 不同的结果,相同的 pod

Prometheus different results, same pod

我很难理解为什么我在 Prometheus/Grafana 中得到同一个广告连播的多个结果。

我正在尝试通过 rate(container_cpu_usage_seconds_total{namespace=~".+-test", pod=~"my-server-.+", image!~"|.*pause.*", container!="POD"}[5m]) 获得 cpu 的使用率。

container 标签排除了带有 POD 字符串的结果。我发现那些指的是暂停容器,它在容器启动之前保存命名空间和其他东西。

但是我在 image 标签中得到了暂停容器。所以我将它们排除在该标签之外。

然后我发现一些容器没有 image 标签,我排除了它们在 image 标签中插入或 (|)。

在某些情况下,没有 image 标签的容器的 cpu 使用率低于“正确”容器之一(具有正确 imagecontainer labels) 而在其他情况下它非常相似,但绝不相同。

示例:

Server 1 image

Server 2 image

我想了解那些容器是什么以及它们指的是什么。

PS。指标来自 cadvisor.

试试这个查询:

rate(container_cpu_usage_seconds_total{container!="POD", container=~".+"}[5m])

简而言之,CPU 用法可用于多种分辨率(容器、pod、QoS class),上面的查询有效地消除了除您明确定义的容器之外的所有内容。 !="POD" 删除暂停容器,container=~".+" 表示“不为空”。除了“每个容器”之外,没有任何分辨率具有此标签。