来自 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
我想通过 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