Homeโ€บ๐Ÿ“Š Dashboard Patternsโ€บModule 51 min read ยท 6/7

Kubernetes Cluster

Hands-on

Kubernetes Cluster Dashboard

A dashboard for monitoring K8s cluster health, pod status, resource usage, and events.

Tile 1: Pod Count (Single Value)

fetch dt.entity.cloud_application
| summarize total_pods = count()

Tile 2: CPU Usage by Namespace (Area Chart)

timeseries cpu=avg(dt.kubernetes.container.cpu_usage),
    by:{k8s.namespace.name}, from:now()-2h

Tile 3: Memory Usage by Namespace (Area Chart)

timeseries mem=avg(dt.kubernetes.container.memory_working_set),
    by:{k8s.namespace.name}, from:now()-2h

Tile 4: Recent K8s Events (Table)

fetch events, from:now()-2h
| filter event.kind == "K8S_EVENT"
| fields timestamp, event.type, event.reason, event.message,
        k8s.namespace.name, k8s.pod.name
| sort timestamp desc
| limit 20

Tile 5: Container Restarts (Table)

timeseries restarts=sum(dt.kubernetes.container.restarts),
    by:{k8s.container.name, k8s.namespace.name}, from:now()-2h

Tile 6: Resource Requests vs Limits (Table)

timeseries cpu_usage=avg(dt.kubernetes.container.cpu_usage),
    cpu_requests=avg(dt.kubernetes.container.requests_cpu),
    cpu_limits=avg(dt.kubernetes.container.limits_cpu),
    by:{k8s.container.name}, from:now()-30m

๐Ÿ’ก K8s metadata enrichment adds k8s.cluster.name, k8s.namespace.name, k8s.pod.name to ALL telemetry (logs, metrics, traces). Use these for filtering across any data type.

โ–ถ Knowledge Check

Q: Which metric shows container memory usage?

  • โŒ dt.kubernetes.container.memory_usage
  • โœ… dt.kubernetes.container.memory_working_set
  • โŒ dt.kubernetes.pod.memory