The two most common forms of availability monitoring look similar on a dashboard and work in completely opposite directions.
The direction of the arrow
Uptime monitoring is a pull: your monitoring system reaches out to your service on a schedule. Heartbeat monitoring is a push: your workload reaches out to say it is alive, and the monitoring system watches a clock. Everything else follows from that one difference.
What each one catches
Uptime monitoring is excellent at anything with an address that should always answer, and it tests the whole path from outside in. Heartbeat monitoring is for anything that runs on a schedule and has no address to poll — cron jobs, batch processes, backup scripts — and it answers a question uptime monitoring structurally cannot: "did this thing that has no front door actually do its work?"
What each one misses
Uptime monitoring cannot see work that has no endpoint. Heartbeat monitoring cannot tell you about anything between pings, and it depends on the failing component being healthy enough to make an outbound call — which is why it is designed around the absence of the call rather than its content. Uptime monitoring works even when your entire environment is on fire, because the checker lives outside it.
A concrete split
Uptime monitoring goes on: the public site, the login page, the API health endpoint, database and cache ports, third-party dependencies. Heartbeat monitoring goes on: nightly backups, invoice runs, data exports, certificate renewal, cleanup tasks, queue workers whose silence would be invisible. The two lists barely overlap.
Interval thinking is different for each
For uptime monitoring, the interval is a detection-latency dial. For heartbeat monitoring, the interval is not a choice — it is how often the job actually runs. The dial you tune is the grace period. People from an uptime background set the heartbeat interval aggressively low and then wonder why an hourly job keeps alerting.
Combining them well
The strongest setups use both on the same capability from different angles. For an order pipeline: an uptime monitor on checkout tells you customers can place orders; a heartbeat on the settlement batch tells you those orders are being processed downstream. If you only have attention for one, most teams already have the uptime half and are missing the heartbeat half — and the unmonitored scheduled job is where the long, expensive, invisible failures live.
