Metrics count patterns, logs describe individual events, and traces connect work across services. Choose them from the user operation you need to protect. A CPU chart can look healthy while checkout requests time out waiting for a provider. An average latency can also hide the slowest users, especially when errors are excluded from the sample.
A service objective needs a window, a denominator and a definition of good work. Count successful eligible requests within the latency threshold, and decide how to treat partial failures. Alert on a symptom that needs action rather than every short spike in a machine metric. You'll calculate an error budget, connect requests with trace context, and avoid using unbounded user IDs as metric labels.