The single most useful change a small team can make is to alert on what users feel rather than on what the machine reports. OpenTelemetry's observability primer draws the line clearly: an SLI is a measurement of a service's behavior from the user's perspective, and an SLO is that SLI attached to business value (OpenTelemetry observability primer). A page that says "node CPU above 80 percent" describes a cause candidate, not a symptom. A page that says "checkout error rate above 2 percent for 5 minutes" describes the user's pain and gives the responder a north star.
This distinction also fixes the routing problem. Metrics are shared infrastructure; symptoms have owners. When the alert names the symptom, the question "who should be woken" answers itself, because exactly one team owns whether checkout succeeds.
The four golden signals give you a ready vocabulary for those symptoms: latency, traffic, errors, and saturation, measured at the boundary of each user-facing service (Google SRE, Monitoring Distributed Systems). For a small team, three of them are usually enough to page on: error rate, latency on successful requests, and saturation of the one resource that fails first (a connection pool, a queue, or a database). Traffic is context, not a page.
One trap worth naming: never average latency across successful and failed requests. Errors fail fast, so a spike in fast 500s pulls the average down and makes a broken service look healthy. Track the latency of successful requests only, and use a high percentile rather than a mean (the golden signals guide).



