The Four Golden Signals, Explained for Teams Without a Platform Team

The four golden signals — latency, traffic, errors, and saturation — come from Google’s original SRE book, and they’ve held up remarkably well as a minimal, sufficient set of things to monitor for almost any service. The problem for a small team isn’t understanding the concept; it’s translating “watch these four things” into an actual dashboard when you don’t have a dedicated observability stack, a metrics team, or time to build four different monitoring pipelines.
The four signals, briefly
Latency — how long requests take. The important nuance is measuring the distribution, not just the average: a mean latency of 200ms can hide a p99 of 4 seconds affecting a meaningful slice of users, and averages are exactly the kind of metric that looks healthy while a real problem is happening to a subset of traffic.
Traffic — how much demand the system is under, measured in whatever unit makes sense for the service (requests per second, jobs processed, concurrent connections). Traffic alone isn’t a problem signal, but it’s necessary context for interpreting the other three — a latency spike during a traffic spike tells a different story than the same spike during a quiet period.
Errors — the rate of requests failing, explicitly or implicitly. Explicit failures (5xx responses) are usually already being tracked somewhere; implicit failures (a 200 response with the wrong data, a request that “succeeds” but violates a business rule) are the ones most small teams don’t have visibility into at all.
Saturation — how full the system is relative to its capacity: CPU, memory, connection pool usage, queue depth. This is the leading indicator that predicts the other three getting worse before they actually do — a system approaching saturation is a system about to show elevated latency and errors, not one that already has.
Why this is a better starting point than “monitor everything”
The instinct for a team without dedicated observability tooling is often to either monitor nothing meaningfully (a health check endpoint and hope) or attempt to monitor everything (every metric a library exposes, dashboarded without a clear purpose). Both fail for the same underlying reason: neither answers “is the system actually okay for users right now” directly. The four golden signals are specifically chosen because together, they do — if all four are healthy, users are almost certainly having a fine experience, and if any one degrades, it’s usually the earliest available evidence that something’s wrong, before a user files a support ticket.
Translating this into a Kubernetes context
Latency and errors map most naturally to the application layer — instrumenting request handling directly, ideally with enough granularity to separate “this specific endpoint is slow” from “everything is slow.”
Traffic at the Kubernetes layer shows up as request rate into services, but also as the volume of Kubernetes API activity and event churn — a sudden spike in pod restarts or scheduling activity is a traffic-adjacent signal even if it’s not literally request traffic.
Saturation is where Kubernetes-specific signals matter most: CPU and memory utilization against requests and limits, node-level resource pressure, and — a signal that’s easy to miss — how close a namespace is to its ResourceQuota ceiling, which is a saturation signal at the namespace level, not just the pod level.
What a minimal, honest version of this looks like for a small team
You don’t need four separate specialized tools. A reasonable minimum viable version:
- Application-level request metrics (latency distribution, error rate) from whatever framework you’re using — most modern web frameworks expose this with minimal instrumentation effort.
- Kubernetes-native saturation metrics — CPU, memory, and node pressure — which don’t require any application code changes, just cluster-level metrics collection.
- One dashboard that puts all four in the same place, even if it’s not fancy. The value of the four golden signals model is seeing them together, not scattered across four different tools that nobody checks as a set.
- Alerts on the leading indicators, not just the lagging ones. Alerting only on error rate means you find out after users are already affected; alerting on saturation trending toward capacity gives you a chance to act before latency and errors follow.
Where this connects to what VantraOps actually does
This is close to a description of what VantraOps’ metrics and health check pillars are built to provide out of the box for the Kubernetes-native half of the picture — CPU, memory, and network saturation streamed live, with health checks watching for the patterns that precede user-visible degradation, without requiring you to stand up a metrics pipeline first. Application-level latency and error instrumentation is still something your own code needs to expose — that half of the four signals is inherently specific to your service — but the infrastructure-layer half doesn’t need to be built from scratch.
Frequently asked questions
Which of the four signals matters most if I can only track one first? Saturation is arguably the highest-leverage starting point because it’s a leading indicator — it gives you a chance to notice trouble before latency and errors show it. But in practice, error rate is usually the fastest to instrument and the most directly tied to “are users okay right now,” so it’s a reasonable first if setup time is the constraint.
Is average latency ever good enough on its own? Rarely — averages hide exactly the tail-latency problems that most affect a meaningful subset of real users. If you can only track one latency statistic, p95 or p99 tells you far more than the mean.
Do the four golden signals replace the need for logs and traces? No — they’re a monitoring model for “is something wrong,” not a debugging model for “why.” Logs and traces are what you reach for once a golden signal tells you to look closer; the four signals are what tell you to look in the first place.
How does this relate to Kubernetes’ own health probes (liveness/readiness)? Complementary, not the same thing — liveness and readiness probes are narrow, per-pod checks used by Kubernetes itself to manage traffic and restarts. The four golden signals are a broader, service-level view of user-facing health that probes alone don’t capture.
See saturation, health, and events across your fleet in one place — start free with one cluster.