Alert on what the user feels, not on what you think causes it
CPU at 90 percent is fine if requests are fast. An error rate over one percent or a p99 over a second is a problem, whatever the CPU says.
Page on symptoms the user can feel: latency, errors, saturation. Put the causes (CPU, queue depth, connection count) on the dashboard the responder opens once they've been paged. A page that fires when nothing is wrong for the user teaches people to ignore pages.
observabilitysre