Skip to content

Three Pillars & Golden Signals

Before reaching for any tool, observability starts with two shortlists: three pillars (what kind of signal exists) and four golden signals (what to actually watch on any service). Both are platform-agnostic — module 04, Kubernetes & Helm (Kubernetes probes) and module 05, AWS (AWS CloudWatch/X-Ray) are each one platform's implementation of the same two ideas.

TL;DR — in 30 seconds:

  • Three pillars — metrics, logs, traces — each answer a question the other two can't: that (and roughly when), why (for one event), where (across services).
  • Four golden signals — latency, traffic, errors, saturation — are what to measure on any service, regardless of what it does.
  • Both are platform-agnostic: Kubernetes probes and AWS CloudWatch/X-Ray are just one platform's implementation of the same two ideas.

1. The three pillars — three different questions

Each pillar exists because it answers a question the other two can't:

Pillar Answers Nature Cost
Metrics Is something wrong, in aggregate, right now? A number over time (request count, latency, CPU) Cheap to store, cheap to alert on
Logs What exactly happened, at one point in time? A discrete event (a request failed, a deploy ran) More expensive to store and search at volume
Traces Where did the time go, across services, for one request? One request's path through multiple services, timed hop by hop Most expensive; usually sampled

None replaces the others. Metrics tell you that something broke and roughly when; logs tell you why, for one specific instance of it; traces tell you which service in a multi-hop request chain is actually the slow one — a question neither metrics nor logs, alone, can answer once a request crosses more than one service boundary.

flowchart LR
    S["Something's wrong"] --> M["Metrics<br/>that? and roughly when?"]
    M --> L["Logs<br/>why, for this one event?"]
    L --> T["Traces<br/>where, across services?"]

2. The four golden signals

If metrics/logs/traces are what kind of signal exists, the four golden signals are what to actually measure for any service, regardless of what it does:

Signal Question Example
Latency How long do requests take? p50/p99 response time
Traffic How much demand is the service under? Requests per second
Errors How much of that traffic is failing? Error rate, HTTP 5xx count
Saturation How full is a constrained resource? CPU, memory, queue depth

These four are a starting checklist, not a Prometheus- or Grafana-specific feature — they're the same four questions worth asking about any service before deciding what to build a metric, log, or trace around.

3. How this connects

  • The four golden signals are exactly the kind of thing a metric is built to answer cheaply — they're the natural input to the alerting rules covered in Alerting, SLOs & error budgets.
  • Module 04's probe results and module 05's CloudWatch metrics are both, underneath, instances of the "metrics answer that, logs answer why" split taught here — same discipline, different platform.

You can defend this when you can name, unprompted, which pillar answers which question, and state the four golden signals without needing to look them up.