来自 CPU/Memory 使用百分比的 Grafana 警报

Grafana alert from percentage CPU/Memory usage

我想通过 Grafana 发出警报,定义如果 CPU 或内存使用率超过阈值(比如 85%),它将触发警报。我现在有的是时间序列限制CPU/memory

kube_pod_container_resource_limits{namespace="$namespace", pod="$pod", resource="cpu"}

和 pod 资源使用

sum(rate(container_cpu_usage_seconds_total{namespace="$namespace", pod="$pod", container!="POD", container!="", pod!=""}[1m]))

合乎逻辑的百分比是 (resource_usage_query)/(resource_limit_query)*100。我尝试将两个查询与公式相同但以 nodata 值结尾。有什么语法或我错过的东西吗?我很感激任何建议。

您将以无数据结束,因为指标具有不同的标签。 您需要通过例如 pod 聚合两者,然后进行除法。 这应该可以解决您的问题。类似的东西:(我没有测试它)

sum(rate(container_cpu_usage_seconds_total{namespace="$namespace", pod="$pod", container!="POD", container!="", pod!=""}[1m])) by (pod) / sum(kube_pod_container_resource_limits{namespace="$namespace", pod="$pod", resource="cpu"}) by (pod) * 100