atlasbot: add namespace net/io metrics

This commit is contained in:
Brad Stein 2026-01-29 03:11:01 -03:00
parent ad75df7444
commit cacaaaad53
2 changed files with 14 additions and 0 deletions

View File

@ -1157,6 +1157,16 @@ def _summarize_metrics(errors: list[str]) -> dict[str, Any]:
"topk(5, sum by (namespace) (kube_pod_container_resource_requests_memory_bytes))" "topk(5, sum by (namespace) (kube_pod_container_resource_requests_memory_bytes))"
) )
) )
metrics["namespace_net_top"] = _filter_namespace_vector(
_vm_vector(
f"topk(5, sum by (namespace) (rate(container_network_receive_bytes_total{{namespace!=\"\"}}[{_RATE_WINDOW}]) + rate(container_network_transmit_bytes_total{{namespace!=\"\"}}[{_RATE_WINDOW}])))"
)
)
metrics["namespace_io_top"] = _filter_namespace_vector(
_vm_vector(
f"topk(5, sum by (namespace) (rate(container_fs_reads_bytes_total{{namespace!=\"\"}}[{_RATE_WINDOW}]) + rate(container_fs_writes_bytes_total{{namespace!=\"\"}}[{_RATE_WINDOW}])))"
)
)
except Exception as exc: except Exception as exc:
errors.append(f"namespace_usage: {exc}") errors.append(f"namespace_usage: {exc}")
metrics["pvc_usage_top"] = _pvc_usage(errors) metrics["pvc_usage_top"] = _pvc_usage(errors)
@ -1174,6 +1184,8 @@ def _summarize_metrics(errors: list[str]) -> dict[str, Any]:
"namespace_mem": "bytes", "namespace_mem": "bytes",
"namespace_cpu_requests": "cores", "namespace_cpu_requests": "cores",
"namespace_mem_requests": "bytes", "namespace_mem_requests": "bytes",
"namespace_net": "bytes_per_sec",
"namespace_io": "bytes_per_sec",
"pvc_used_percent": "percent", "pvc_used_percent": "percent",
"capacity_cpu": "cores", "capacity_cpu": "cores",
"allocatable_cpu": "cores", "allocatable_cpu": "cores",

View File

@ -137,6 +137,8 @@ def test_collect_cluster_state(monkeypatch) -> None:
assert snapshot["metrics"]["namespace_mem_top"] == [] assert snapshot["metrics"]["namespace_mem_top"] == []
assert snapshot["metrics"]["namespace_cpu_requests_top"] == [] assert snapshot["metrics"]["namespace_cpu_requests_top"] == []
assert snapshot["metrics"]["namespace_mem_requests_top"] == [] assert snapshot["metrics"]["namespace_mem_requests_top"] == []
assert snapshot["metrics"]["namespace_net_top"] == []
assert snapshot["metrics"]["namespace_io_top"] == []
assert snapshot["metrics"]["pod_cpu_top"] == [] assert snapshot["metrics"]["pod_cpu_top"] == []
assert snapshot["metrics"]["pod_mem_top"] == [] assert snapshot["metrics"]["pod_mem_top"] == []
assert snapshot["metrics"]["job_failures_24h"] == [] assert snapshot["metrics"]["job_failures_24h"] == []