Skip to content

First Monitor

Log in to your OKStatus account. From the dashboard or the Monitors page, click the Add monitor button. The New monitor dialog has three steps: Target, Schedule and Alerts.

The New monitor dialog, Target step: where the checks run from, monitor type, name, URL, content check and accepted HTTP codes

Fill in the following fields:

  • Name — A descriptive name, e.g. “Main website”.
  • URL — The full address to monitor, e.g. https://example.com.
  • Method — GET (default) or POST if you need to send a body.
  • Interval — Check frequency, from 30 seconds to 5 minutes depending on your plan (see the table below). It is set in the Schedule step.
  • Expected code(s) — The HTTP status code(s) considered a success, e.g. 200 or a range like 200-299.

You can also configure:

  • Custom headers — Add HTTP headers (e.g. Authorization).
  • Keyword check — Verify specific text is present in the response (and optionally invert the check to fail when the text is found).
  • JSON query — Resolve a path in a JSON response (component.status, or $ for the raw body) and compare it to an expected value. Keyword and JSON query are the two modes of the Content check selector.
  • Tags — Free-form labels to organize and filter your monitor list.
  • Regions — Select the geographic check locations, in the Schedule step next to the interval.

Each region code maps to a real monitoring agent. Codes follow a cc-city convention (country code + city). Which ones you can select, how many a single monitor may use, and the shortest interval you’re allowed all depend on your plan:

Region codeLocationMinimum plan
fr-dc3ParisFree
de-fraFrankfurtFree
es-madMadridFree
uk-lonLondonPro
nl-amsAmsterdamPro
pl-wawWarsawPro
se-stoStockholmMax
dk-cphCopenhagenMax
us-nycNew YorkMax
us-sjoSan JoséMax
sg-sgpSingaporeMax
au-sydSydneyMax
fr-sbgStrasbourgEnterprise
ie-dubDublinEnterprise
it-milMilanEnterprise
ch-zrhZurichEnterprise
ca-bhsMontrealEnterprise
br-saoSão PauloEnterprise
cl-sclSantiagoEnterprise
in-mumMumbaiEnterprise
za-jnbJohannesburgEnterprise
bh-manManamaEnterprise
qa-dohDohaEnterprise
jp-tyoTokyoEnterprise

That is 3 regions on Free, 6 on Pro, 12 on Max, and all 24 on Enterprise. The Enterprise cities are put online on request.

If your service filters incoming traffic by IP, the addresses each region checks from are listed in Probe IP addresses.

PlanMinimum intervalRegions per monitor
Free300s (5 min)2
Pro60s (1 min)3
Max30s5
Enterprise30s5

Max and Enterprise also include private agents (5 and 20), each one selectable as a private:<agentId> pseudo-region.

Selecting a region above your plan (from the dashboard, the REST API, or the Terraform provider) is rejected server-side, not silently downgraded.

The Alerts step starts with Retries before down: how many failed checks in a row are tolerated before the monitor is down (None to 5, 1 by default — two failures in a row). Below it, Response time sets an optional threshold above which the monitor turns degraded and alerts — see Response time alerts.

Then attach one or more alert channels to this monitor. You’ll be notified as soon as an outage is confirmed. For each channel you can also choose which alert kinds it should receive: up/down, SSL certificate expiry, and domain expiry.

Click Create monitor to start monitoring immediately.

Monitor page: current status with the last 60 checks, uptime, failed checks, p95 response time, incidents, certificate and domain expiry

Open the monitor from the list. The header shows the current status and the last 60 checks; below it, pick a range — 24h, 7d, 30d or 90d — to read uptime, failed checks, response-time percentiles, incidents (with MTTR and MTBF) and, for HTTPS, the days left on the certificate and the domain. Compare to previous puts the same figures side by side with the period before, and PDF report exports the range. Edit reopens the same dialog you created the monitor with.