For any user-facing service, monitor these four:
- Latency — how long requests take (split successful vs failed; failures often have different latency profiles)
- Traffic — how much demand (requests per second, transactions per minute)
- Errors — rate of failed requests (HTTP 5xx, timeouts, application errors)
- Saturation — how full the service is (CPU, memory, queue depth, connection pool utilisation)
The crisp answer: "For a user-facing service, the four golden signals from the Google SRE book — latency, traffic, errors, and saturation — give you the right starting set of metrics. Latency tells you how fast, traffic tells you how busy, errors tells you what's failing, and saturation tells you when you're about to run out of capacity."