Metrics
A metric explorer scoped by entity type rather than by raw metric name, so you start from the thing you are debugging instead of scrolling a list of two hundred names.
Pick the level first
Section titled “Pick the level first”Kubernetes metrics resolve at four levels, and each one is a different entity type with its own metric-name prefix:
| Level | Entity type | Prefix | Notes |
|---|---|---|---|
| Container | k8s_pod |
container. |
Broken down per container by k8s.container.name |
| Pod | k8s_pod |
k8s.pod. |
|
| Node | k8s_node |
k8s.node. |
|
| Host | host |
system. |
Picking the level first is what stops you summing a container gauge across a node and getting a number that means nothing. It also keeps the board fast: without it, opening the pod level would fire one query per metric across every name on that entity type, most of which are application histograms you did not ask for.
Building a view
Section titled “Building a view”- Level — container, pod, node or host.
- Metric name — scoped to that level’s prefix.
- Group by — split the series by namespace, workload, node, or any tag. Chips, so you can stack more than one.
- Tag search — filter to the subset you care about before charting it.
- Aggregation —
avg,sum,min,max,p95. - Chart type — line, area or bar.
Sparkline tiles give you the board at a glance; clicking one expands it into a full series chart.
Choosing an aggregation
Section titled “Choosing an aggregation”The aggregation is not cosmetic — it decides what question you are asking:
maxanswers “did this ever get bad?” Use it for saturation checks.p95answers “is this normally bad?” Use it for sizing and SLOs.avgacross many series hides the one that is on fire. Group by first, then average.sumis only meaningful over a partition — summing a utilisation percentage across pods produces a number with no unit.
The time range
Section titled “The time range”Shared with Traces and Logs. Presets are 15m · 1h · 6h · 24h · 3d · 7d, or an absolute range. A preset re-resolves against the wall clock — every 15s on 15m, every 5 minutes on the longer windows — so a chart left open keeps moving.
Per-cluster isolation
Section titled “Per-cluster isolation”Metrics are isolated per cluster by tag, so a workload with the same name in two clusters never merges into one series.
A worked view
Section titled “A worked view”Which container in the payments namespace is driving pod memory:
- Level Container.
- Metric
container.memory.usage. - Tag search
k8s.namespace.name:payments. - Group by
k8s.container.name— the sidecar usually appears here. - Aggregation max to catch the peak, then p95 to see whether the peak is routine.
From the CLI
Section titled “From the CLI”rtz metrics list --entity-type K8S_PODrtz metrics query k8s.pod.memory.usage --entity-type K8S_POD --group-by k8s.pod.name --agg maxrtz metrics tags --entity-type K8S_POD --key namespacertz metrics entities --entity-type K8S_NODE--entity-type is required — the API answers a missing one with a 500, so the CLI catches
it first and names the flag.
A terminal cannot draw a curve, so metrics query summarises each series as last / min / max
plus the point count, and says when the backend rewrote the query as a per-second rate. Use
-o json for the raw points.
