kubernetes - Prometheus 监控 Kubernetes 容器内存使用情况并报告容器使用率是否超过 90%

标签 kubernetes prometheus

寻找如何使用 Prometheus 监控容器内存使用情况的示例。

如果我们使用此查询,它会报告所有容器正常:

(container_memory_usage_bytes / container_spec_memory_limit_bytes) * 100 > 90

但是,如果容器没有定义内存限制,则可以正常工作。除数为 0,结果为 +Inf,这意味着由于 +Inf 匹配 > 90,因此警报触发不正确。

对于如何正确使用容器内存使用监控有什么建议吗?

最佳答案

几天前我从不同的角度问了同样的问题here 。到目前为止我还没有找到答案。我已经解决了添加另一个标签 has_memory_limit 的问题,我用它来仅对定义了限制的容器发出警报。


好吧,我已经弄清楚了:

((container_memory_usage_bytes / container_spec_memory_limit_bytes) != +Inf)  * 100 > 52

由于正无穷大、负无穷大和 NaN 都是 Prometheus 中的数字,您可以简单地使用 != +Inf 过滤掉它们。

关于kubernetes - Prometheus 监控 Kubernetes 容器内存使用情况并报告容器使用率是否超过 90%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64178265/

相关文章:

docker - 查询通过普罗米修斯节点导出器文本文件收集器公开的自定义指标失败

prometheus - 如何在标签上标注普罗米修斯的尾部指标?

kubernetes - 是否可以使用 StackDriver 随时间监控 Kubernetes 集群中的 pod-replica 数量?

kubernetes - skydns 无法解析 kubernetes 集群中的 dns

kubernetes - 普罗米修斯平滑度使用度量

kubernetes - 通过Prometheus监控kubernetes服务或部署

java - Kubernetes、Java 和 Grafana - 如何只显示正在运行的容器?

docker - 如何升级自托管 (centOS) kubernetes 集群

kubernetes - 为什么Prometheus运算符(operator)无法启动

kubernetes - HPA无法从Prometheus适配器获取自定义指标