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. 1 Open `Synthetics` in the dashboard
  2. 2 Click `+ New check`, fill in URL + assertion
  3. 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
Open in app →