A fresh install cannot create checks until a probe location is registered.
Every check must name at least one location, and a location only exists once
an operator has deployed a runner and registered it. There are none by
default.If check creation is rejecting your location, this is why — it is not a
malformed request. Ask whoever operates your deployment to register a probe
location first. Nothing else on this page works until that is done.
Check types
Five types, each with a real executor.
HTTP checks support
GET, POST, PUT, PATCH, DELETE, HEAD and
OPTIONS, with request bodies as JSON, text, XML or form-encoded.
Scheduling
Frequency is set per check, with a minimum of 30 seconds and a maximum of 24 hours. Checks can also be triggered manually, which is the sane way to iterate on a new check rather than waiting for its next scheduled run. Maintenance windows suppress checks during planned work, so a deploy does not generate a false page.Assertions
An assertion is a type, an operator and an expected value. A check that fails its assertions is recorded as failed or degraded.- Assertion types
- Operators
status_coderesponse_timeheaderbody_jsonbody_text
status_code of eq 200 and a response_time of
lt some millisecond budget.
Multi-step checks
A multistep check runs up to 10 steps in order. Each step needs a name and a request URL. Values captured from one step can be interpolated into later ones with{{variable}} syntax, which is how you test a flow that requires a token from a
login step. Variables can be marked secret so their values are not displayed
back.
Ten steps is a real ceiling, not a soft guideline. If a flow needs more, it is
usually better split into several checks anyway — a 15-step check that fails at
step 12 tells you much less than the check that covers only that part.
Alerting on failures
Next
Alerting
Alert when a check fails.
Searching logs
Correlate a failure with your logs.