HTTP Monitoring
Probe a URL on a schedule and assert status (and timing) from the real response. Available on Free and above.
Overview#
An HTTP monitor (kind http) issues a GET or HEAD request to a public HTTPS/HTTP URL you configure. Pass/fail is derived from the probe outcome — expected status, timeouts, and network errors — not from synthetic uptime.
Set up, step by step#
Same walkthrough as the Monitoring overview— create from /app/monitoring.
Step 1: Open the create form
From Monitoring, click Add monitor or Create monitor. You land on the New monitor form for the selected project.
Step 2: Fill required fields
- URL — public
http://orhttps://target. - Success when the response status is — default
200. - Check every — Free at most every 10 minutes.
Click Create monitor. The first check starts right after saving.
- URL — public
Step 3: Confirm a result
Open the monitor detail. After the probe runs, pass/fail and timing come from the real response. Linked daily SSL and DNS checks for the hostname are described on the create form.
Configuration#
url— target URL (SSRF-safe hostnames only; private / link-local targets are rejected).method—GET(default) orHEAD.expectedStatus— HTTP status code to treat as success (default200).timeoutMs— probe budget (default10000, max 60s).followRedirects— defaulttrue.
Create and edit monitors under the project Monitoring UI, or via the REST API when Enterprise api_access is enabled.
Results#
Each scheduled run stores a check result. Failures (wrong status, timeout, network error) contribute to health and can open alerts. Continuous runs require Trigger workers — see Monitoring overview.
Plans#
HTTP monitoring is available on Free and all paid plans (feature gate http_monitor). Project and schedule limits still apply per plan.
Limitations
- Only GET and HEAD — no request bodies or custom auth headers.
- Unsafe or non-public hostnames are blocked (SSRF protection).
- Empty check history means no successful scheduler run yet — not “100% uptime.”