我读过很多指南,展示了如何使用 Prometheus 监控 Kubernetes 中 pod 的 cpu 和内存使用情况,其中大多数看起来像这样:
rate(container_cpu_usage_seconds_total{pod=~"compute-.*", image!="", container!="POD"}[5m])
Run Code Online (Sandbox Code Playgroud)
但我找不到任何有关容器标签为何存在的文档(似乎它会导致重复数据)以及为什么在许多监控示例中避免使用它。我知道这个指标来自 Kubernetes 的 cadvisor 组件,但我能找到的关于这些指标的唯一文档是此处代码中提供的简短描述。
有谁知道这个标签的用途以及哪里有更深入的文档没有这些指标?
我正在 Grafana 中构建一个仪表板,使用来自 Prometheus 的数据来监控 Kubernetes 集群中的命名空间。我需要所有这些来查看负载测试期间会发生什么。
现在我花了半天时间寻找有关 Prometheus 中不同指标的信息。我已经阅读了Prometheus 文档和kube 状态指标文档(从我们的集群中获取数据),但我没有找到关于哪个指标做什么的任何描述。我只能根据在这里和那里找到的查询结果和示例进行猜测,但这比我想要的更慢而且更不安全。
但是,我遇到了这个SO 答案,所以我认为引用一定是从某个地方复制的。请问有人吗?
我测试了这些查询。第一个查询的值是第二个查询的一半:
sum(container_memory_working_set_bytes{image!="",name=~"^k8s_.*",pod=~"$pod"}) by (pod)
和
sum (container_memory_working_set_bytes{pod=~"$pod"}) by (pod)
为什么写作的image! = "", name = ~ "^ k8s_. *"价值会减半?