Documentation
PulseWatch watches two things: jobs that should run (heartbeats) and URLs that should respond (uptime). Start with a monitor, then add the checks that catch a job which runs and does the wrong thing.
Quickstart
Copy this into a real crontab and replace <token> with the one shown on your monitor. Everything else works as written.
# 1. create a heartbeat monitor in the dashboard, copy its ping URL # 2. add one line to your cron job, pinging on success: 0 3 * * * ./backup.sh && curl -fsS -m 10 --retry 5 https://pulsewatcher.up.railway.app/ping/<token>
Monitors
The two monitor types, every field with its default and range, and how the schedule and grace window decide when a job is late.
Pinging API
Heartbeat success, fail and start pings, metrics telemetry, log excerpts, and cron, systemd and CI examples.
Fleets
One monitor for the same job on many machines. Configuration declared once, evaluated per machine, one alert naming the ones that stopped.
Webhooks
The v1 JSON payload, every event and reason, signature verification in eight languages, and retries.
How-to guides
End-to-end: monitor a backup with a metrics floor, wire an alert into an auto-restart, and publish a status page with a README badge.
Catching more than "did it run"
When something breaks
Reference
Not sure where to start
Run the crontab audit script on a machine with cron jobs on it. It is read-only, takes a few seconds, and prints which jobs report nothing when they fail.