S
APM & Infrastructure
Synthetic Monitoring
Scheduled HTTP probes from inside your own infra. No third party.
▸ How it works
Define a check (URL, method, expected status, latency threshold, body regex). An Oban cron runs every minute, fans out due checks to child jobs, executes each with Finch, records the result as a metric (`synthetic.latency_ms`) and a log line, and fires an alert if the check fails N times in a row.
▸ What this lets you do
- ✓ Catch outages before users do — from your own VPC, not a SaaS PoP
- ✓ Per-check success-rate and latency over time
- ✓ Alerts wire straight into Slack / PagerDuty / Teams
- ✓ Multi-step flows (login → action → assert) supported via scripts
▸ Get it running
- 1 Open `Synthetics` in the dashboard
- 2 Click `+ New check`, fill in URL + assertion
- 3 Save — first run within 60 s, alert wires automatically
▸ Code examples
Open `Synthetics` → click `+ New check`, then fill the form:
Name API health
URL https://api.example.com/health
Method GET
Interval (s) 60
Expected status 200
Latency budget 500 ms
Body regex "status":"ok"
Save — first probe runs within 60 s. Results appear under
the check row as a sparkline plus a last-N-runs table.
Where to find it
/app/p/:org/:project/synthetics