Kubernetes Monitoring

Kubernetes monitoring from cluster to code

See every cluster, node, pod and workload in context. Obseria connects Kubernetes metrics, events, logs and traces so you find the cause of a failing rollout in minutes.
Benefits

Why teams use Kubernetes Monitoring in Obseria

Full-stack context

Pod restarts, node pressure and slow requests are linked to the services and deployments that caused them.

OpenTelemetry-native

Use the OpenTelemetry Collector and SDKs you already run, and export OTLP data anytime without lock-in.

Faster root cause

Obseria Intelligence follows the topology from a symptom to the failing container and shows its chain of evidence.

How it works

Kubernetes Monitoring in three steps

  1. Step 1

    Deploy the Obseria Agent

    Install it once per cluster with a Helm chart; it runs as a DaemonSet and collects metrics, logs, traces, profiles and events.

  2. Step 2

    Map the topology

    Obseria TopoGraph discovers clusters, namespaces, workloads, services and their dependencies automatically.

  3. Step 3

    Alert and investigate

    Set SLOs and alerts per workload, then let agentic investigations explain incidents with evidence.

Capabilities

  • Cluster and node health. CPU, memory, disk and network per node, plus allocatable versus requested resources and node conditions.
  • Workload views. Deployments, StatefulSets, DaemonSets, Jobs and CronJobs with replica status, restarts and rollout history.
  • Kubernetes events. OOMKilled, CrashLoopBackOff, failed scheduling and image pull errors, correlated with metrics and logs.
  • Container logs. All container logs are collected, enriched with Kubernetes metadata and queryable with OQL.
  • Control plane monitoring. API server latency, etcd health, scheduler and controller manager metrics for self-managed and managed clusters.
  • Requests, limits and cost. Spot over-provisioned workloads, throttled containers and cost per namespace or team.
Guide

Kubernetes Monitoring: what you need to know

What is Kubernetes monitoring?

Kubernetes monitoring is the continuous collection and analysis of telemetry from Kubernetes clusters: the control plane, nodes, pods, containers and the applications running inside them. Its goal is to answer three questions at any moment: is the cluster healthy, are workloads getting the resources they need, and are the services users depend on working as expected?

Kubernetes makes this harder than classic host monitoring. Pods are short-lived, IP addresses change, workloads scale up and down automatically, and a single request can cross dozens of containers on different nodes. Static dashboards built around host names break down quickly. Effective Kubernetes monitoring therefore relies on labels and metadata, automatic discovery and correlation across metrics, logs, events and traces.

Why Kubernetes monitoring matters

Kubernetes is designed to self-heal, which can hide problems. A container that is OOMKilled and restarted every few minutes may never trigger an outage alert, yet it causes failed requests and growing latency. A misconfigured resource limit can throttle CPU on a critical service while the node looks idle. Without visibility, teams discover these issues only through customer complaints.

Good Kubernetes monitoring helps platform teams keep clusters stable and efficient, helps developers understand how their code behaves in production, and gives engineering leaders the data to plan capacity and control spend.

Key Kubernetes metrics and signals

A useful way to structure Kubernetes monitoring is by layer, applying the USE method (utilization, saturation, errors) to resources and the RED method (rate, errors, duration) to services.

  • Control plane: API server request latency and error rate, etcd leader changes and disk sync duration, scheduler pending pods.
  • Nodes: CPU and memory utilization, disk and inode pressure, network errors, node conditions such as NotReady or MemoryPressure.
  • Pods and containers: restarts, OOM kills, CPU throttling, memory working set versus limits, readiness and liveness probe failures.
  • Workloads: desired versus available replicas, rollout progress, failed Jobs, HPA scaling activity.
  • Applications: request rate, error rate and latency per service, ideally from distributed traces.
  • Events and logs: scheduling failures, image pull errors, evictions and application log errors with pod and namespace metadata.

How Obseria handles Kubernetes monitoring

Obseria installs with a single Helm chart. The Obseria Agent runs as a DaemonSet and collects node and container metrics, container logs, Kubernetes events, profiles and traces. If you already run the OpenTelemetry Collector or OpenTelemetry SDKs, Obseria ingests that data natively over OTLP. Most teams see their first traces within about 15 minutes.

Obseria TopoGraph builds a live map of clusters, namespaces, workloads and service dependencies, so every signal carries its context. When a pod restarts, you see the deployment it belongs to, the recent rollout, the logs before the crash and the downstream services affected. Obseria Intelligence uses this topology for causal analysis and runs agentic investigations that end in a chain of evidence instead of a list of correlated charts.

All data lands in Obseria Lake, an index-free lakehouse, so you can query it ad hoc with OQL, PromQL or SQL:

fetch logs
| filter k8s.namespace == "checkout" and level == "error"
| summarize count(), by:{k8s.pod.name}

Obseria Pipeline lets you drop noisy debug logs, mask PII and route data at ingest, and filtered data costs only ingestion.

Kubernetes monitoring best practices

  1. Label consistently. Use standard labels for team, service, version and environment so data can be grouped and owned.
  2. Alert on symptoms, not every event. Page on SLO burn rates and user-facing errors; send node and pod warnings to tickets or dashboards.
  3. Watch requests and limits. Compare actual usage with requests to reduce waste and avoid throttling and OOM kills.
  4. Correlate deployments. Annotate rollouts so regressions are visible immediately after a release.
  5. Trace across services. Metrics tell you that something is slow; traces tell you where.
  6. Control data volume. Filter and sample at ingest so monitoring cost scales with value, not with cluster size.

Frequently asked questions

Monitor the control plane, nodes, pods and containers, workloads and the applications themselves. Combine resource metrics (USE), service metrics (RED), Kubernetes events, container logs and distributed traces for full coverage.

Deploy the Obseria Agent with the Helm chart. It runs as a DaemonSet and starts collecting metrics, logs, events and traces automatically. Existing OpenTelemetry Collectors can send data over OTLP instead.

Yes. Obseria monitors self-managed clusters as well as managed services on AWS, Azure and Google Cloud, and combines cluster data with cloud provider metrics collected agentlessly.

Yes. Obseria ingests Prometheus metrics and supports PromQL queries, so existing dashboards and alert rules can be migrated step by step.

Obseria is priced per signal, not per host or node. Metric data points cost $0.020 per million ingested and logs and spans $0.060 per million ingested, so scaling nodes does not trigger license fees.

Ready for observability that delivers answers?

Try every feature free for 14 days, no credit card and no proprietary agents.