结合 Prometheus 调整 Kubernetes 资源限制
转自: https://www.51cto.com/article/704723.html Kubernetes 资源限制往往是一个难以调整的配置,因为你必须在太严格或者太宽松的限制之间找到最佳的平衡点。 通过本文,你可以学习到如何设置正确的 Kubernetes 资源限制:从检测到无限制的容器,到找出你应该在集群中正确配置的 Kubernetes 资源限制。我们假设你使用 Prometheus 来监控你的 Kubernetes 集群。这就是为什么本文中的每个步骤都使用 PromQL 查询进行示例说明的原因。 检测没有 Kubernetes 资源限制的容器 设置正确的 Kubernetes 资源限制的第一步是检测没有任何限制的容器。没有 Kubernetes 资源限制的容器可能会在你的节点中造成非常严重的后果。在最好的情况下,节点将开始按顺序或评分驱逐 pod。由于 CPU 节流,它们也会出现性能问题。在最坏的情况下,节点将由于内存不足而被终止。 查找没有 Kubernetes 资源限制的容器 根据命名空间查找没有限制 CPU 的容器 1sum by (namespace...
精简 Prometheus 指标以减少资源占用
前言随着 Prometheus 监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,资源占用也会越来越高。 在这种情况下,要优化 Prometheus 性能, 优化存储占用. 第一时间想到的可能是各种 Prometheus 的兼容存储方案, 如 Thanos 或 VM、Mimir 等。但是实际上虽然集中存储、长期存储、存储降采样及存储压缩可以一定程度解决相关问题,但是治标不治本。 真正的本,还是在于指标量(series)过于庞大。 治本之法,应该是减少指标量。有 2 种办法: 解决高基数问题 根据实际使用情况,只保留(keep)展示(Grafana Dashboards)和告警(prometheus rules)会用到的指标。 高基数问题什么是基数(Cardinality)?基数的 基本定义 是指一个给定集合中的元素的数量。 在Prometheus中指代series 的基数 (High Cardinality) 在 Prometheus 和可观察性的世界里,标签基数 是非常重要的,因为它影响到你的监控系统的性能和资源使用。 下面这张...
Prometheus 与 Kubernetes 学习网站记录
rancher官方文档 一个不错的Prometheus中文网站 上面网站的一个备用地址 AlertManager 何时报警 Alertmanager重复/缺失告警现象探究及两个关键参数group_wait和group_interval的释义 Kubernetes集群监控指标项详解 K8s about pod resource monitoring(记录些常用的Prometheus规则expr) 最近5分钟 Pod 磁盘 IO 写入大于 1001sum(rate(container_fs_writes_bytes_total{pod!=""}[5m])) by (pod,namespace,instance) > 100 最近30分钟 Pod 重启1changes(kube_pod_container_status_restarts_total[30m])>0 Ready 状态(配合 for 参数,比如 for=5m 表示 Ready 持续 5 分钟,说明启动有问题)1kube_pod_container_statu...
