Problem
Teams collect thousands of metrics but still miss user-visible outages. Dashboards differ per service, so on-call engineers cannot read an unfamiliar one quickly. There is no agreed minimum set of signals.
Also known as: four-golden-signals, sre-golden-signals
Monitor any user-facing service with four signals (latency, traffic, errors, saturation) that cover most symptoms.
Teams collect thousands of metrics but still miss user-visible outages. Dashboards differ per service, so on-call engineers cannot read an unfamiliar one quickly. There is no agreed minimum set of signals.
The four golden signals come from Google SRE practice. If you can only watch four things about a user-facing system, watch these: latency, traffic, errors, and saturation. Together they answer whether users are being served, how much, how well, and how close the system is to its limit.
Each signal has a precise definition:
rate(http_requests_total[5m]) # traffic
sum(rate(http_requests_total{code=~"5.."}[5m]))
/ sum(rate(http_requests_total[5m])) # errors
histogram_quantile(0.99, rate(http_request_duration_bucket[5m])) # latency
max(db_pool_in_use / db_pool_size) # saturation
Page on error ratio and tail latency. Use saturation for warnings and capacity planning.
Low - metrics backend and dashboard templates
Low - one template maintained centrally
Low - four concepts
Latency averaged, hiding a slow tail
Errors counted only from HTTP 5xx, missing wrong-but-200 responses
Saturation tracked on the wrong resource, so alerts fire late