01 · pages on failure
Synthetic journeys
A scripted robot user that does what your customer does: signs in, searches, adds to basket, pays with a test card, downloads the invoice. Every three minutes, from Frankfurt, Warsaw and Dublin.
Because it runs the whole business process, it catches the failures that individual service checks miss entirely — an expired certificate on step four, a payment provider silently rejecting one card type, a session that dies after a deploy.
This is the only check type allowed to ring a phone at night, and only after it fails twice from two separate locations.
02 · pages on threshold
Infrastructure
Hosts, containers, queues, replication lag, disk, memory, connection pools. Standard stuff, with one difference: your thresholds are set during onboarding by someone who asked what normal looks like on a Monday morning versus a Saturday night.
Most of these produce a ticket, not a phone call. A queue backing up at 10:00 is a conversation. The same queue backing up at 03:00 with a growing customer impact is a page.
03 · pages on shape
Logs and error rates
We do not alert on single lines — that way lies four hundred notifications a day and a team that has stopped looking. We alert on the shape of the curve.
A tenfold jump in 500s inside five minutes matters. One stack trace does not. A new error string that has never appeared before matters more than a familiar one appearing again.
04 · pages 30 days early
The boring expiries
TLS certificates, domain renewals, API keys, OAuth secrets, payment tokens, licence files, and the credit card on the account that pays for all of it.
Deeply unglamorous, and the cause of more outages we are called about than any code deploy. These page thirty days ahead, again at seven days, and to a human being rather than a shared inbox.