Skip to content

Consumi risorse per namespace

Esempio con namespace monitorati: istio-system, openshift-logging, registry. Finestra picco: 7d, step subquery: 5m.

sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{
cluster="", namespace=~"istio-system|openshift-logging|registry"
}) by (namespace)
max_over_time(
sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate{
cluster="", namespace=~"istio-system|openshift-logging|registry"
}) by (namespace)
[7d:5m])
sum(container_memory_rss{
job="kubelet", metrics_path="/metrics/cadvisor", cluster="",
container!="", namespace=~"istio-system|openshift-logging|registry"
}) by (namespace) / 1024^3
max_over_time(
sum(container_memory_rss{
job="kubelet", metrics_path="/metrics/cadvisor", cluster="",
container!="", namespace=~"istio-system|openshift-logging|registry"
}) by (namespace)
[7d:5m]) / 1024^3
  • CPU: già in core → ×1000 per millicore.
  • Memoria: / 1024^3 → GiB (base 2, combacia con i Gi di K8s); / 1e9 → GB decimali.
  • La divisione va fuori dal max_over_time, così l’aggregazione lavora sui byte grezzi.
  • Le subquery sono costose: su finestre lunghe allarga lo step, es. [30d:1h].
  • =~ usa regex: attenzione ai pattern tipo openshift-.* che catturano più namespace del previsto.