Skip to content

Uptime monitoring

Every uptime monitor in SiteQwality follows the same lifecycle: configure → run on schedule → emit results → trigger notifications on state change. What differs is what the monitor checks.

Check typeWhat it checksUse for
HTTPA URL responds with the expected status, body, and latencyWebsites, APIs, webhook receivers
SSL/TLSA certificate’s expiry, chain, and validityAnything served over HTTPS
Domain expiryA domain’s registration at the registry: expiry date, registry holds, registrar and nameserver changesAny domain you would lose if a renewal failed
Cron heartbeatA scheduled job pinged on timeBackups, ETL, batch jobs
BrowserA full Playwright script passes in a real ChromiumLogin flows, checkout, multi-page journeys
  • You have a URL that should be 200 OK. Use HTTP checks. You can also opt-in to a paired TLS check (cert expiry) and domain expiry check (domain registration) on the same monitor.
  • You only care about cert expiry, not whether the site is up. Use SSL/TLS checks. Otherwise, just enable the TLS sub-check on your HTTP monitor.
  • You want to hear before a domain registration lapses. Enable the domain expiry check on an HTTP monitor for that domain. It reads the registration from the registry, so it also catches a registry hold, a registrar change, and a nameserver change.
  • You have a cron job that should run every N minutes. Use a cron heartbeat. Your job pings SiteQwality at the end of each successful run, and SiteQwality alerts when it doesn’t.
  • You need to validate a multi-step user flow. Use browser checks. You write a Playwright script and SiteQwality runs it on schedule, capturing a HAR + video on failure.

Every check runs from AWS us-east-1 (N. Virginia). It is the only location with check infrastructure, and it is the default for every monitor type. If you leave check_regions unset, this is what you get.

min_healthy_regions controls how many of a monitor’s configured locations must report healthy before the monitor itself counts as healthy. Configuring more than one location requires a paid plan; the API returns 403 Forbidden otherwise.

Check typeMinimum interval (free)Minimum interval (paid)
HTTP60 s30 s
Cron heartbeatn/an/a (driven by your job’s ping cadence)
Browser5 min5 min
TLS, domain expiry (paired with HTTP)daily, not configurabledaily, not configurable

Every monitor accepts a tags: string[] field. Use tags consistently (service:api, env:prod, team:platform) and you can:

  • Match maintenance windows to silence by tag.
  • Filter dashboards and alerts by tag.
  • Roll up uptime by service or environment.

Beyond tags, you can attach a monitor to a service (service_id). Services are higher-level groupings. See Services in the dashboard.